我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们

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

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

本文内容

Did this doc help you?

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

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

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

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

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

  1. 打开 Terminal(终端)Terminal(终端)Git Bash
  2. 将当前工作目录更改为您的本地仓库。
  3. 要删除文件,请输入 git rm --cached
    $ git rm --cached giant_file
    # Stage our giant file for removal, but leave it on disk
  4. 使用 --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
  5. 将提交推送到 GitHub:
    $ git push
    # Push our rewritten, smaller commit

Did this doc help you?