git - .gitignore 仍然忽略已删除的项目

标签 git github gitignore

<分区>

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

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

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

那么:我如何告诉 git 取消忽略之前忽略的内容?

最佳答案

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

  • 另一种方法是尝试使用 git add 添加 bin 目录 without 给出一个 -f 参数,git 会提示文件当前被忽略。如果你确实看到了这条消息,你仍然有一个 .gitignore 某处似乎导致 git 忽略 bin 目录。

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

更新根据您的评论:

  • .gitignore 文件可以出现在存储库的多个目录中,以包含或排除不同目录级别的规则。从您的存储库的根目录运行 find 。 -type f -name .gitignore 查看你的 repo 中是否有任何其他 gitignore 文件。

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

git config --global --get core.excludesfile

关于git - .gitignore 仍然忽略已删除的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15518053/

相关文章:

git - Visual Studio 2015 Git "See the Output window for details"但没有详细信息

git - 如何阻止 Git 中某些特定类型的文件提交?

git - Perforce 忽略文件语法与 gitignore 语法有何不同?

ios - 创建后将 Git Repository 添加到 XCode 项目

git - LibGit2 实现 'git pull'

linux - 使用 git-shell 的自定义命令

git - 为什么 GitHub 和 git 命令行对于 merge 状态和提前/落后提交给出不同的结果?

browser - 是否可以通过浏览器在 github 中的某处创建文件?

python - 如何在 Jupyter Lab 中编辑 .gitignore?

git流 : Should I squash commits when merging from a release branch into master?