.gitignore仍然忽略删除的项目

时间:2013-03-20 07:51:59

标签: git github gitignore

我有一个标准的.gitignore文件,我包含在每个项目中。其中一条线忽略了“bin”。

碰巧,在这个特定项目中,我实际上想要一个/ bin目录。我从.gitignore中删除了“bin”,但是git仍然不允许我添加/ bin目录。它仍然认为它应该忽略它,即使该字符串已从.gitignore中删除。

我找到的所有答案都是关于如何忽略之前提交的内容,但我找不到任何有关如何添加以前忽略的内容的信息。

那么:我如何告诉git取消先前被忽略的东西?

3 个答案:

答案 0 :(得分:3)

  • 确保您的.gitignore不再忽略bin目录。要确认您可以从您的仓库的根目录运行git ls-files . --ignored --exclude-standard --others以列出git忽略的所有文件。

  • 另一种方法是,如果您尝试使用bin 添加git add目录而不使用 给{{1}参数,git会抱怨文件当前被忽略了。如果你确实看到这条消息,你仍然有一个-f,这似乎会导致git忽略.gitignore目录。

  • 还要记住,git不会对空目录进行版本控制。您需要在目录下至少有一个文件,以便git在版本控制下跟踪它。在这种情况下,在bin目录下创建一个虚拟文件,该文件说bin。这样,您可以确保在克隆或结帐时创建git add bin/.dummy目录。

根据您的评论

更新

  • .gitignore文件可以存在于存储库中的多个目录中,以包含或排除不同目录级别的规则。从您的仓库的根目录开始,运行bin以查看您的仓库中是否有任何其他gitignore文件。

还有一种使用以下git配置选项指定gitingore的全局方法,检查您的设置中是否存在这样的配置:

find . -type f -name .gitignore

答案 1 :(得分:2)

很可能你有一个全局git ignore文件 - 通常在~/.gitignore。您可以通过以下方式检查:

-> git config core.excludesfile 
/home/andy/.gitignore

您可以反转忽略规则,或者最简单的解决方案是只添加bin文件并继续:

git add -f bin
git commit -m "Adding my bin files"

答案 2 :(得分:0)

请注意,你的意思仍然是“忽视”它。你的意思是当你输入'git status'时,bin /目录没有显示为未跟踪或修改?

尝试将其明确添加到git中吗?

git add bin/
git commit -m "Adding the bin directory"