协慌网

登录 贡献 社区

.gitignore 被 Git 忽略了

我的.gitignore文件似乎被 Git 忽略了 - .gitignore文件是否会被破坏? Git 期望哪种文件格式,语言环境或文化?

我的.gitignore

# This is a comment
debug.log
nbproject/

git status输出:

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

我应该从哪里开始寻找解决方法呢?

答案

即使你到目前为止还没有跟踪文件,Git 似乎也能够 “知道” 它们,即使你将它们添加到.gitignore

注意:首先提交您当前的更改,否则您将丢失它们。

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

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

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

  • 可能存在可能干扰本地文件的全局.gitignore文件
  • 在. gitignore 文件中添加内容时,请尝试以下操作:

    git add [uncommitted changes you want to keep] && git commit
    git rm -r --cached .
    git add .
    git commit -m "fixed untracked files"
  • 如果从. gitignore 文件中删除某些内容,并且上述步骤不起作用,请尝试以下操作

    git add -f [files you want to track again]
    git commit -m "Refresh removing files from .gitignore file."
    
    // For example, if you want the .java type file to be tracked again,
    // The command should be:
    //     git add -f *.java

固定。好的,我在 Windows 上的记事本中创建了. gitignore 文件,但它无法正常工作。当我在 Linux 上查看. gitignore 文件时,它看起来像是有组织的乱码 - 也许 Notepad 写出了 Unicode 而不是 ASCII 或 8 位。

所以我在我的 Linux 机器上重写了这个文件,当我把它拉回到 Windows 时它运行正常!欢呼!