无论我尝试什么,忽略git中的一个特定文件都不起作用

时间:2018-05-14 10:45:22

标签: git gitignore ignore

所以我试图在git中忽略一个名为my_settings.py的文件。如果我做了任何更改,git实际上会忽略它们并且不会告诉我提交它们。但每次我更改分支时,文件都会被覆盖,或者git不会让我更改分支,因为your changes would be overwritten by checkout。我在开发团队工作,是唯一一个留下这个问题的人。该文件不属于.gitignore的一部分,因为应该能够提取该文件,然后对其进行更改,而不对其进行提交。这适用于我团队中的每个人,但我和我都没有。一位同事再次拉回了回购,但问题已经消失了。他甚至不需要使用任何命令,例如git update-index。我试过了,它没有用。我尝试了git update-index --assume-unchanged,我尝试git update-index --skip-worktree,我尝试将文件添加到info/exclude。什么都行不通。我真的不知道如何解决这个问题。

2 个答案:

答案 0 :(得分:0)

如果您在.gitignore中添加了要忽略的新文件,请运行以下命令:

  • git rm -r --cached .它会删除所有暂存的更改,因此请确保您已提交更改
  • git add .
  • git commit -m "ignore files"

答案 1 :(得分:0)

没有办法完全按照你要做的做法 - 无论是通过git跟踪文件还是不跟踪文件,都无法对文件进行半跟踪。

通常像这样的文件的解决方案,你希望文件的单个副本在repo中,但你要做的任何更改都被忽略,就是在每个开发人员重命名的repo中有一个命名不同的文件他们克隆了存储库。

例如,如果您有一个名为config.json的配置文件包含秘密API密钥,您可以提交一个没有名为config.json.example的API密钥的副本,然后当每个开发人员克隆存储库时,他们会复制它到config.json并插入其API密钥。