我有一个标准的 .gitignore 文件,我包含在每个项目中。其中的一行忽略了“bin”。
碰巧,在这个特定的项目中,我实际上想要一个 /bin 目录。我从 .gitignore 中删除了“bin”,但 git 仍然不允许我添加 /bin 目录。它仍然认为它应该忽略它,即使该字符串已从 .gitignore 中删除。
我找到的所有答案都是关于如何忽略以前提交的内容,但我没有找到任何关于如何添加以前忽略的内容的信息。
那么:我如何告诉 git 取消忽略以前忽略的内容?
确保您的 .gitignore 不再忽略该bin
目录。为了确认你可以git ls-files . --ignored --exclude-standard --others
从你的 repo 的根目录运行来列出所有被 git 忽略的文件。
另一种方法是,如果您尝试使用不提供参数添加bin
目录,git 会抱怨文件当前被忽略。如果您确实看到此消息,那么您仍然有一个地方似乎导致 git 忽略该目录。git add
-f
.gitignore
bin
还要记住,git 不会对空目录进行版本控制。您需要在目录下至少有一个文件,以便 git 在版本控制下跟踪它。在这种情况下,在目录下创建一个虚拟文件bin
,该文件说git add bin/.dummy
. 这样,您可以确保bin
在克隆或签出时创建目录。
根据您的评论更新:
find . -type f -name .gitignore
以查看 repo 中是否有任何其他 gitignore 文件。还有一种使用以下 git 配置选项指定 gitingore 的全局方法,检查您的设置中是否存在这样的配置:
git config --global --get core.excludesfile
很可能您有一个全局 git 忽略文件 -~/.gitignore
通常。您可以通过以下方式检查:
-> git config core.excludesfile
/home/andy/.gitignore
您可以反转忽略规则,或者最简单的解决方案是添加 bin 文件并继续:
git add -f bin
git commit -m "Adding my bin files"
请注意,您的意思仍然是“忽略”它。您的意思是当您键入“git status”时,bin/ 目录不会显示为未跟踪或已修改?
尝试将其显式添加到 git 中?
git add bin/
git commit -m "Adding the bin directory"