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

要从仓库中删除大文件,必须将其从本地仓库和 您的 GitHub Enterprise Server 实例 中完全删除。

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

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

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

  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 Enterprise Server 实例:
    $ git push
    # Push our rewritten, smaller commit

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

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

此文档对您有帮助吗?隐私政策

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或, 了解如何参与。