【发布时间】:2016-10-12 00:25:06
【问题描述】:
我对签入文件进行了一些特定于平台的修改。当我从远程分支合并时,如何强制 git 保留本地版本并忽略远程版本?基本上,就像 git-ignore,但是对于已经被存储库跟踪的文件。
用例是我推送到一个分支,然后将这个分支拉到不同的平台上进行测试。第一次在每个平台上进行测试需要运行 ./configure 脚本,该脚本使用特定于平台的自定义修改了一些文件。由于这些更改是自动生成的,我不想将它们提交给历史。通常我将这些文件添加到 .gitignore,但是,其中一些文件是原始存储库的一部分,因此 git ignore 将被忽略。
【问题讨论】:
-
将它们放入您的 git exclude 文件 (
.git/info/exclude) 是否适合您的用例? -
这样会阻止签入的文件覆盖本地版本吗?
-
只有在您取消跟踪修改/生成的文件时才会这样做。如果您想跟踪它们,
skip-worktree标志可能会有所帮助。有关示例,请参阅此答案及其链接参考。 stackoverflow.com/a/13631525/149428