从仓库的历史记录中删除文件
要从仓库中删除大文件,必须将其从本地仓库和 您的 GitHub Enterprise Server 实例 中完全删除。
警告:这些步骤将从您的计算机和 您的 GitHub Enterprise Server 实例 上的仓库中永久删除文件。 如果文件很重要,请在仓库外部的目录中创建本地备份副本。
如果在之前的提交中添加了文件,则需要将其从仓库历史记录中删除。 您可以使用 BFG Repo-Cleaner 或 git filter-branch
命令从仓库历史记录中删除文件。 更多信息请参阅“从仓库中删除敏感数据”。
删除在最近未推送的提交中添加的文件
如果文件使用最近的提交添加,而您尚未推送到 您的 GitHub Enterprise Server 实例,您可以删除文件并修改提交:
-
打开 Terminal(终端)Terminal(终端)Git Bash。
-
将当前工作目录更改为您的本地仓库。
-
要删除文件,请输入
git rm --cached
:$ git rm --cached giant_file # 暂存我们的巨型文件待删除,但将其留在磁盘上
-
使用
--amend -CHEAD
提交此更改:$ git commit --amend -CHEAD # 使用您的更改修改以前的提交 # 只需使新提交无效,因为您还需要 # 从未推送的历史记录中删除该文件
-
将提交推送到 您的 GitHub Enterprise Server 实例:
$ git push # 推送我们重新编写的、较小的提交