.git/info/exclude中的文件无法生效

10

我在.git/info/exclude中放置了两个文件,但是在使用git st命令时仍然能够看到它们。

这两个文件是配置文件,我不想再将它们提交。我将它们放在那里是因为使用--assume-unchanged--skip-worktree选项时,无法切换到另一个分支。

2个回答

15

如果一个文件已经被添加到GIT仓库中,但是通过 .git/info/exclude 文件排除掉了,那么你需要运行 git update-index --assume-unchanged <path-of-the-excluded-file> 命令来忽略后续的更改。


1
正如 OP 所说,--assume-unchanged 只是防止检出另一个分支,这只解决了问题的一半。 - Mike Fuchs

5

我仍然可以在git st中看到它们

这意味着它们仍然被版本控制:您需要先将它们从索引中移除:

git rm --cached -- yourConfigFile
git add .
git commit -m "Record deletion of yourConfigfile"

然后git status会忽略这些文件。


感谢@vonc。我有一个问题,如果我从索引中删除它们,当我推送这个“rm”时,它们会从远程存储库中消失吗?我只想让我的本地修改不影响远程,并且不要每次都看到git st - John Fadria
@JohnFadria 是的,它们也会在远程上被删除。如果你只想忽略本地文件,你提到的 git update-index 会更适合。 - VonC
是的 @vonc,但是每次我想要更改分支时,我都必须使用 update-index 命令来进行暂存... - John Fadria
2
我认为这不是当前问题的答案。 - Archont

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接