假设我的存储库根目录中有一个.noise
文件。我的团队中的其他人经常修改此文件并将其提交给远程仓库。
我想在我自己提交任何内容时完全忽略此文件,但我仍然希望从其他人那里获取更改,并且我不想删除该文件。如果我使用.git/info/exclude
,那么我必须git rm --cached
该文件,因此它不会显示在回购中。
现在这样做让我从以下地方出发:
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: .noise
#
# No changes added to commit (use "git add" and/or "git commit -a")
为:
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# deleted: .noise
#
'要做出的改变'让我感到害怕。我不想将.noise
的删除推回到遥控器,我也不想在我的文件系统上删除它。我只是不希望Git看到它或与它有任何关系。我想 git rm --cached
不应该进行任何更改?那不是这样吗?
有什么想法吗?
答案 0 :(得分:14)
您可以使用:
$ git update-index --assume-unchanged -- .noise
update-index --assume-unchanged
会让Git继续跟踪该文件,但您的更改不会反映在索引中或添加到回购邮件中。