git - 如何在结帐/克隆中包含被忽略的文件?
问题描述
我想在 git 中有一个本地设置文件,其中包含一个变量列表(可能带有默认值),开发人员需要更改这些变量才能在本地工作。
这比告诉开发人员他们需要拥有的所有变量以及将其放入哪个文件更容易,因为它避免了“魔术”配置。
但是,如果我提交这个本地配置文件,当开发人员在本地工作时,它总是会被标记为已修改,我想避免这种情况。
如果我在一次提交中将它放在 .gitignore 中,而在另一次提交中将文件放在 .gitignore 中,也会发生这种情况,因为 git 会知道它并仍然跟踪它。
如果我这样做git rm --cached
,它也会删除我不想做的文件。
我正在考虑用钩子创建它,但这些是本地的,而不是作为git clone
.
有什么办法可以做到这一点?
解决方案
正如Git 常见问题解答所述,您不能忽略跟踪的文件。Git 不允许这样做,因为不可能知道如何处理这些文件,并且经常使用的解决方案git update-index
不起作用。
但是,常见问题解答提供了一个建议:
如果您的目标是修改配置文件,将文件签入存储库通常会很有帮助,该文件是一个模板或一组默认值,然后可以在旁边复制并根据需要进行修改。这第二个修改过的文件通常会被忽略,以防止意外提交它。
如果您愿意,可以使用脚本来执行此复制和修改。
推荐阅读
- r - Simple slopes test for merMod object with R package interactions (jtools)
- sql - Counting and adding distinct values that occur in certain dates using PostgreSQL
- mongodb - 如何查找仅包含特定值的子集合的文档
- python - 几秒钟后,一只乌龟停下来,另一只跑得更快
- haskell - Haskell point-free style with no functions in the expression
- r - 如何在 R 中进行动态数据帧索引
- jquery - 在多选表单上的dom之后动态创建选择选项
- jquery - 当我使用复选框发出 ajax 删除请求时,视图函数中出现错误
- php - PHP 脚本不会将值从 HTML 表单上传到 SQL 数据库
- class - 如何在Weka中对不同概率截止的多类数据进行分类