.gitignore不会忽略`git status`中带有空格的文件名

时间:2013-10-30 14:10:38

标签: git gitignore

当我做git status时,我得到:

#       modified:   COM/config/Config/Edit Project Settings.lnk

但在我的.gitignore中我有:

*.lnk

这里发生了什么?这可能是空白的问题吗?

2 个答案:

答案 0 :(得分:8)

问题不在于空白。

我认为该文件已在您的git仓库中跟踪,因此您可以使用以下内容将其从回购中删除:

git rm -r --cached "COM/config/Config/Edit Project Settings.lnk"
git commit -m "removed .lnk"

这不会删除.lnk文件,只会在本地取消删除(虽然一旦此提交进入上游,它会在其他人机器上删除)

答案 1 :(得分:1)

好吧我的问题实际上是存储库中已有的文件,因此将模式添加到.gitignore并不会阻止git跟踪它们的更改。

需要的是

git update-index --assume-unchanged <file>

现在不再跟踪他们的更改了。

另外,正如ansh0l所指出的,git处理空间非常好。