Git似乎忽略了我的.gitignore文件-.gitignorefile是否已损坏?Git希望使用哪种文件格式、区域设置或文化?

我的.gitignore:

# This is a comment
debug.log
nbproject/

git状态的输出:

# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       debug.log
#       nbproject/
nothing added to commit but untracked files present (use "git add" to track)

我希望debug.log和nbproject/不出现在未跟踪的文件列表中。

我应该从哪里开始解决这个问题?


当前回答

此问题的另一个原因是语句前的空格或制表符:

例子:

# Be aware of the following:
 notWorkingIgnore.*
workingIgnore.*

正如下面的评论所指出的,尾随空格也是一个问题:

# Be aware of the following:
notWorkingIgnore.* #<-Space
workingIgnore.*#<-Nospace

其他回答

您也可以使用sudo命令编辑.gitignore文件。我遇到了同样的问题,在执行命令gitstatus时,我仍然可以看到“应该被忽略”的文件。

在使用nano.gitignore而不是sudo nano.gitinore进行编辑时,我可以看到正确的反射。

对我来说,以前的答案都没有奏效。我不得不将.gitignore文本复制到exclude.txt文件中,该文件位于

<Your-project-folder>\.git\info

完成后,刷新更改,所有未跟踪的文件都将消失。照常承诺。

我在Ubuntu上也有同样的问题,我从终端创建了.gitignore,它对我很有用

touch.gitignore

和其他解决方案一样,首先提交,并注意您将丢失任何未提交的更改。

我有更好的结果:

git rm -r --cached .
git reset HEAD --hard
git status

请注意,状态现在不应该有任何修改过的文件。

这里有很多答案,但对我有用的并不完全是某个特定的答案,我在这里以简单的方式逐一记下所有需要完成的步骤:

预---备份回购以备不时之需。(我没有,但可能会让你觉得更安全)

确保这是您的第一次提交还是更早的提交,这些文件已被添加,因此已被缓存。如果是,则git-rm-cached。和gitadd。(不要错过点)如果仍然无法工作,请在记事本中打开文件转到文件->另存为将编码更改为ANSI。(有些答案错误地说UTF-8,但它不起作用,不必要地浪费时间)再次使用git-rm-cached。和gitadd。(不要错过点)现在做Git状态并验证我们想要的结果