GitHub 从仓库的历史记录中删除文件
要从仓库中删除大文件,必须将其从本地仓库和 GitHub 中完全删除。
警告:这些步骤将从您的计算机和 GitHub 上的仓库中永久删除文件。 如果文件很重要,请在仓库外部的目录中创建本地备份副本。
删除之前提交中添加的文件
如果在之前的提交中添加了文件,则需要将其从仓库历史记录中删除。 要从仓库历史记录中删除文件,可以使用 BFG Repo-Cleaner 或 git filter-branch
命令。 更多信息请参阅“从仓库中删除敏感数据”。
删除在最近未推送的提交中添加的文件
如果文件使用最近的提交添加,而您尚未推送到 GitHub,您可以删除文件并修改提交:
- 打开 Git Bash。
- 将当前工作目录更改为您的本地仓库。
- 要删除文件,请输入
git rm --cached
:
$ git rm --cached giant_file
# Stage our giant file for removal, but leave it on disk
- 使用
--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
- 将提交推送到 GitHub:
$ git push
# Push our rewritten, smaller commit