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

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


当前回答

好的,所以在我的案例中,接受的解决方案不起作用,这里描述了有效的方法:

Visual Studio 2013是否正在忽略.gitignore文件?

简而言之:

关闭Visual Studio。导航到.git文件夹删除ms-persist.xml重新启动Visual Studio

其他回答

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

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

我在Windows中的PowerShell中使用echo“…”>.gitignore创建了.gitignor,因为它不允许我在Windows资源管理器中创建它。

在我的案例中,问题是创建的文件的编码,在我将其更改为ANSI后,问题得到了解决。

还有一点需要注意:您是否使用正确的行结尾保存.gitignore文件?

窗户:

如果您在Windows上使用它,是否使用Windows行结尾保存它?并非所有程序都会默认执行此操作;Notepad++和许多PHP编辑器默认使用Linux行结尾,因此文件将与服务器兼容。检查此项的一个简单方法是在Windows记事本中打开文件。如果所有内容都显示在一行,则文件以Linux行结尾保存。

Linux:

如果文件在Linux环境中工作时遇到问题,请在Emacs或nano等编辑器中打开该文件。如果您看到任何不可打印的字符,则文件以Windows行结尾保存。

好的,所以在我的案例中,接受的解决方案不起作用,这里描述了有效的方法:

Visual Studio 2013是否正在忽略.gitignore文件?

简而言之:

关闭Visual Studio。导航到.git文件夹删除ms-persist.xml重新启动Visual Studio

我看到你们中的一些人已经回答了这个问题,但我不知道是否说得很清楚。

在我的案例中,问题出现的原因是使用echo命令创建.gitignore文件,导致文件编码被更改。

为了解决我必须打开文本文件的问题,请单击另存为并将底部选项卡中的编码更改为UTF-8。

当我使用touch命令创建文件并通过文本编辑器编辑其内容时,问题没有发生。