我有一个标准的.gitignore文件,我包含在每个项目中。其中一条线忽略了“bin”。
碰巧,在这个特定项目中,我实际上想要一个/ bin目录。我从.gitignore中删除了“bin”,但是git仍然不允许我添加/ bin目录。它仍然认为它应该忽略它,即使该字符串已从.gitignore中删除。
我找到的所有答案都是关于如何忽略之前提交的内容,但我找不到任何有关如何添加以前忽略的内容的信息。
那么:我如何告诉git取消先前被忽略的东西?
答案 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
目录。
更新:
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"