如何从Git存储库中删除包含文件的单个目录?


当前回答

我的一位同事建议BFG Repo Cleaner,我认为它很强大。它不仅可以删除不需要的数据,还可以清除存储库中的任何相关提交信息。

其他回答

我通常使用gitadd-all从远程存储库中删除文件/文件夹

rm -r folder_name
git add --all
git commit -m "some comment"
git push origin master

master可以被存储库的任何其他分支替换。

如果由于某种原因,karmakaze所说的不起作用,您可以尝试使用或使用文件系统浏览器(例如,在Windows文件资源管理器中)删除您想要的目录。删除目录后,发出命令:git add-A然后gitcommit-m'删除目录'然后git推送原始主机。

在删除任何内容之前,第一个git命令需要知道您是谁

初始化git-config user.name“某人”git-config user.email“someone@someplace.com"git rm-rgitcommit-m“删除目录”git推送原始主机

如果您正在从GitHub web应用程序中删除目录,您将找到一个删除选项。然而,在这之后,它会给你一个被删除的文件列表,底部有提交选项。请记住提交它。否则,目录将不会被删除。

参考-https://docs.github.com/en/repositories/working-with-files/managing-files/deleting-files-in-a-repository

从Git和本地删除目录

使用两个目录签出“master”:

git rm -r one-of-the-directories // This deletes from filesystem
git commit . -m "Remove duplicated directory"
git push origin <your-git-branch> (typically 'master', but not always)

从Git中删除目录,但不是本地目录

要从Git中删除此目录,但不将其从文件系统(本地)中完全删除,请执行以下操作:

git rm -r --cached myFolder