如何让 gitignore 忽略你的 repo 中的一些文件夹

how to make gitignore to ignore some of the folders inside your repo

SO上有很多类似的主题,我已经阅读了其中的一些,但问题仍然存在。

我希望能够将文件夹或文件名放在 gitignore 中,这样它就不会出现在在线存储库中,而是保留在本地。

我做了什么:

  1. 本地有一个包含文件的文件夹。我使用 VSC 使用此文件夹创建了一个新的存储库。我可以在本地添加和删除文件,提交,它会正常工作 - 更新文件和文件结构。
  2. 然后我添加了 gitignore 希望停止跟踪工作目录中的一些 misc 文件夹但是在添加所述文件夹后它并没有忽略它们。 有人建议尝试 git rm -r --catch .,然后返回 git add . 文件,提交,它会起作用。它没有。
  3. 我试着单独 git rm -r --catch。奇怪的是它只适用于某些文件夹。更不用说我必须对许多文件夹执行此操作。
  4. 最后,作为最终解决方案(对我来说,我很生气),我只是从该存储库中删除了本地的所有内容,只留下自述文件和 git忽略。所以建议不能简单地 ignore/stop 跟踪回购中已经存在的文件,你必须重新编制索引,但重点是,如果文件是在 git 忽略之后添加的,你无需广泛 bash 使用即可忽略它。 在这里,我只是将所有需要的文件添加回本地的 repo,其中只有 readme 和 gitignore。然后我开始将文件添加到 gitignore 才发现它不起作用。或者我应该说有些文件夹会被忽略而有些不会(gitignore 所在的工作目录中的顶级 lvl 文件夹)。包含文件的文件夹,里面没有更多的 gitignores 或类似的东西。

我试过:folder_name/folder_namefolder_name/folder_name/**。 3 个文件夹中只有 1 个会被忽略。

如果我尝试创建一个具有随机名称的新文件夹并将其添加到忽略文件,它将被忽略。

在任何 copy/pasting 文件返回到本地 repo 文件夹之前,我删除了其中隐藏的 git 文件夹。

这是我的结构图ibb.co/F4WrX81 我只是想指出,我以前随便用过git,更多的是真正习惯了,一切都很好。这是一个例子ibb.co/S5y7LBM我会创建一个项目,花一些时间处理它,然后添加git忽略,一切都会顺利进行

非常感谢任何帮助或建议。我可以重做整个事情或做一些 bashing。暂时不在乎。

提前致谢。

.gitignore 中添加过滤器不会删除匹配 files/directories。 它将使 git 在任何 none 特定命令上忽略它。 rm 包含命令。

所以分多个步骤进行:

  • 删除(如果需要保留一个副本)所有您想要忽略的文件夹。
  • 在“删除无用文件夹”提交中提交更改。
  • 编辑 .gitignore 为要忽略的文件夹添加过滤器。
  • 在“更新 .git忽略文件”中提交更改
  • 恢复忽略的文件夹(如果有)

它不是最理想的,但现在它起作用了:

  • 从 git
  • 中删除存储库
  • 新建文件夹
  • 使用此文件夹创建一个存储库
  • 在此文件夹内创建git忽略,提交
  • 将旧文件放回新文件夹,确保没有旧的隐藏 git 文件偷偷溜走
  • git忽略按预期工作