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

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


当前回答

如果您是Notepad++用户,请尝试执行以下操作:

使用Notepad++打开.gitignore文件,然后执行以下操作:

菜单编辑→ EOL转换→ Windows格式→ 拯救

再次尝试使用gitstatus,看看它是否适合您。

我在这里发布了类似问题的答案。

其他回答

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

我有更好的结果:

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

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

PhpStorm(可能还有其他一些IDE用户),在我的案例中,问题是我通过查找器在项目外部创建并添加了文件。

我删除了那个文件,并在PhpStorm项目中重新创建了相同的文件,右键单击->新建->文件,它立即工作。

如果您是Notepad++用户,请尝试执行以下操作:

使用Notepad++打开.gitignore文件,然后执行以下操作:

菜单编辑→ EOL转换→ Windows格式→ 拯救

再次尝试使用gitstatus,看看它是否适合您。

我在这里发布了类似问题的答案。

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

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

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

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

固定的好的,我在Windows上的记事本中创建了.gitignore文件,但它不起作用。当我在Linux上查看.gitignore文件时,它看起来像是有组织的胡言乱语——也许记事本写的是Unicode,而不是ASCII或任何8位。

所以我在我的Linux盒子上重写了这个文件,当我把它拉回到Windows时,它工作得很好!万岁!