当我这样做时,git status
我得到:
# modified: COM/config/Config/Edit Project Settings.lnk
但是在我的 .gitignore 中,我有:
*.lnk
这里发生了什么?可能是空格的问题吗?
问题不在于空格。
我认为该文件已经在您的 git 存储库中进行了跟踪,因此您可以使用以下命令将其从存储库中删除:
git rm -r --cached "COM/config/Config/Edit Project Settings.lnk"
git commit -m "removed .lnk"
这不会删除.lnk
文件,只会在本地取消跟踪它(尽管一旦此提交进入上游,它将在其他人的机器上删除)
好的,所以我的问题实际上是文件已经在存储库中,所以添加模式.gitignore
并没有阻止 git 跟踪它们的更改。
需要的是
git update-index --assume-unchanged <file>
现在他们的更改不再被跟踪。
否则,正如 ansh0l 指出的那样,git 可以很好地处理空格。