阅读(979) (2)

GitHub 从仓库的历史记录中删除文件

2020-08-19 15:44:07 更新

要从仓库中删除大文件,必须将其从本地仓库和 GitHub 中完全删除。

警告:这些步骤将从您的计算机和 GitHub 上的仓库中永久删除文件。 如果文件很重要,请在仓库外部的目录中创建本地备份副本。

删除之前提交中添加的文件

如果在之前的提交中添加了文件,则需要将其从仓库历史记录中删除。 要从仓库历史记录中删除文件,可以使用 BFG Repo-Cleaner 或 git filter-branch 命令。 更多信息请参阅“从仓库中删除敏感数据”。

删除在最近未推送的提交中添加的文件

如果文件使用最近的提交添加,而您尚未推送到 GitHub,您可以删除文件并修改提交:

  1. 打开 Git Bash。

  1. 将当前工作目录更改为您的本地仓库。

  1. 要删除文件,请输入 git rm --cached

   $ git rm --cached giant_file
   # Stage our giant file for removal, but leave it on disk

  1. 使用 --amend -CHEAD 提交此更改:

   $ git commit --amend -CHEAD
   # Amend the previous commit with your change
   # Simply making a new commit won't work, as you need
   # to remove the file from the unpushed history as well

  1. 将提交推送到 GitHub:

   $ git push
   # Push our rewritten, smaller commit