【发布时间】:2020-11-08 07:31:43
【问题描述】:
我提交然后尝试推送太大而无法上传到 GitHub 的文件。 我怎样才能“清除”这个提交以便能够进行另一个提交并推送它?
【问题讨论】:
-
你可以使用 git reset --soft HEAD^ 这里的 head 是之前提交的 head
标签: git github git-commit
我提交然后尝试推送太大而无法上传到 GitHub 的文件。 我怎样才能“清除”这个提交以便能够进行另一个提交并推送它?
【问题讨论】:
标签: git github git-commit
您可以简单地通过软重置修改当前提交,然后取消暂存过大的文件:
# 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
【讨论】:
要保留工作,请使用git reset --soft HEAD~1。
如果您需要删除所做的更改,请使用git reset --hard。但是,您可能需要指定分支,只需使用
git reset --hard origin/<branch-name>.
【讨论】:
git revert 会创建一个新的提交...我不认为 OP 要求这个