忽略已在回购中的文件而不删除它们

时间:2010-08-30 19:25:12

标签: git

假设我的存储库根目录中有一个.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不应该进行任何更改?那不是这样吗?

有什么想法吗?

1 个答案:

答案 0 :(得分:14)

您可以使用:

$ git update-index --assume-unchanged -- .noise

update-index --assume-unchanged会让Git继续跟踪该文件,但您的更改不会反映在索引中或添加到回购邮件中。