【问题标题】:How to git ignore modified file in local repository while keeping its original version in remote repository如何git忽略本地存储库中的修改文件,同时将其原始版本保留在远程存储库中
【发布时间】:2021-03-25 00:34:08
【问题描述】:
我已经克隆了一个包含特定文件的远程存储库。此文件要求我编辑并保留它的一个版本,该版本必须与远程存储库中的版本不同。现在,当我 git push 其余文件时,我需要 git 忽略此文件,同时仍然能够保持远程存储库中的文件不变。
我已将文件添加到 .gitignore 和 .git/info/exclude,但当我运行 git status 时,它仍在被跟踪。我可以简单地运行git add .,然后删除不需要的文件,但这不切实际而且很麻烦。
我对 git 比较陌生,所以感谢您的时间和耐心。
【问题讨论】:
-
-
我已链接到规范副本,但正确的解决方案如下 bk2204 所述 - 不跟踪必须编辑的文件。更一般地说:不要将配置存储在与代码相同的存储库中,12factor.net 可能是有用的参考。
标签:
git
file
local
ignore
【解决方案1】:
作为outlined in the Git FAQ,您不能忽略对跟踪文件的更改。人们经常建议使用git update-index 的选项之一,但正如常见问题解答条目中所述,这不起作用。
FAQ 提出了一个解决方案:
如果您的目标是修改配置文件,将文件签入存储库通常会很有帮助,该文件是一个模板或一组默认值,然后可以一起复制并根据需要进行修改。这第二个修改过的文件通常会被忽略,以防止意外提交。
这是你能做的最好的,也是 Git 开发人员推荐的方法。如果您控制远程存储库,则应该进行此更改。如果您不这样做,请让所有者进行此更改并将他们指向常见问题条目。