推送前清除 Git 次提交

Clear Git commits before push

我提交并尝试推送太大而无法上传到 GitHub 的文件。 我怎样才能“清除”这个提交以便能够进行另一个提交并推送它?

要保留作品,请使用 git reset --soft HEAD~1

如果您需要删除所做的更改,请使用 git reset --hard。但是,您可能需要指定分支,只需使用 git reset --hard origin/<branch-name>.

您可以通过软重置简单地修改当前提交,然后取消暂存太大的文件:

# from your feature branch
git reset --soft HEAD~1

这会将 HEAD 指针移回一次提交,同时还会暂存提交过大文件的所有更改。然后,您可以简单地取消暂存所有太大的文件,再次提交,然后推送:

# from feature
git reset -- path/to/toolarge1.ext
git reset -- path/to/toolarge2.ext
git reset -- path/to/toolarge3.ext
# and so on for all large files

git commit -m 'new commit with no large files'
git push origin feature