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/不出现在未跟踪的文件列表中。

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


当前回答

这听起来可能很傻,但解决了我的问题的是意识到.gitignore工作正常,即使它在gitstatus上显示deleted:yourfile。

我打算忽略一个错误日志文件,忽略我造成的任何错误,但要保存其他开发人员造成的错误,以防有一天他们在调试一个奇怪的问题时派上用场。然而,git不允许您“忽略”同时保存文件。

我想让它“及时冻结”,但git说它要么被跟踪,要么根本不允许它在那里。

其他回答

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

例子:

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

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

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

如果Git似乎没有注意到您对.gitignore文件所做的更改,您可能需要检查以下几点:

可能有一个全局.gitignore文件会干扰您的本地文件当您向.gitignore文件中添加内容时,请尝试以下操作:git add[要保留的未提交更改]和git commitgit rm-r--缓存。git添加。gitcommit-m“修复了未跟踪的文件”如果您从.gitignore文件中删除了一些内容,并且上面的步骤可能不起作用,如果您发现上面的步骤不起作用的话,请尝试以下操作:gitadd-f[要再次跟踪的文件]gitcommit-m“刷新从.gitignore文件中删除文件。”//例如,如果希望再次跟踪.java类型文件,//命令应为://git-add-f*.java

即使到目前为止你还没有跟踪这些文件,Git似乎也可以在你将它们添加到.gitignore之后“知道”它们。

警告:首先提交或隐藏当前更改,否则您将丢失它们。

然后从Git存储库的顶部文件夹运行以下命令:

git rm -r --cached .
git add .
git commit -m "fixed untracked files"

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

touch.gitignore

我刚刚遇到这个问题。gitignore文件中的内容继续出现在未跟踪文件列表中。

我用这个来创建忽略文件:

echo "node_modules" > .gitignore

事实证明,双引号导致了我的问题。我删除了忽略文件,然后再次使用了不带引号的命令,结果如预期。我不需要搞乱文件编码。我在使用Cmder的Windows 10机器上。

例子:

echo node_modules > .gitignore