Git:如何在仓库中排除一个子文件夹?

13

我已经在项目的一个文件夹中创建了一个代码仓库,你知道,用git init命令。这个文件夹里有Webstorm文件夹.idea和另外一个与此无关的文件夹,我不想将它们保留在仓库中,甚至不想让这些子文件夹出现在新添加的文件列表中。

  1. 如何在提交整个仓库之前排除这个子文件夹?
  2. 如何在提交整个仓库之后排除这个子文件夹?
1个回答

23

打开文本编辑器中的 .git/info/exclude 文件并添加要忽略的文件夹。该文件仅供您个人使用。您还可以在存储库的根目录(.git 目录之外)创建一个 .gitignore 文件,并在其中写入要忽略的文件夹条目。然后将此文件添加到存储库中,以便与其他人分享应该被忽略的内容,如果他们的存储库中也有这个要忽略的目录。

如果您已经提交了此目录,则只需使用 git rm -r --cached 将其删除,提交删除操作并按照我上述的方法将该目录标记为被忽略。在清除目录之前,您可能需要备份一下该目录。


12
我建议使用 git rm -r --cached 而不是 git rm -r,否则该目录也将从您的工作树中删除。 - Sven Marnach
@Sven Marnach - 哈哈,好评!我不小心删掉了那个文件夹,但这次我也用不到它! - Mr Question
2
@Mr Question:如果您仍需要它,当然可以将其恢复。毕竟,这就是版本控制系统的作用。 - Sven Marnach
我已经将/css/添加到排除文件夹中,但是在我的工作树中仍然有一个来自其中的已删除文件列表。我做错了什么? - Mild Fuzz
如果您想忽略一个名为 css 的目录中的文件,请输入“css/”。 - wilhelmtell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接