你可能从标题中猜到,我不小心推送了一个提交。我想知道是否还有办法删除或删除它?
虽然这个问题已经被问过(比如here),但我认为向网站添加更新的版本会很有用,因为我不确定那里提供的答案今天是否仍然适用。
提前致谢!
是的,假设您要删除的提交是最近的提交。您可以获取要删除的提交之前的提交的提交 ID。您可以使用
git log
来完成此操作。它可能看起来像这样。
commit d338e7a5626a763f74c2e69777ce930532fe008d
Author: Stan Liu
Date: Wed Aug 2 18:35:00 2017 -0700
Commit 2
commit 47d81989c633c3afb3fc6aa1f319c0c0d4d3871b
Author: Stan Liu
Date: Wed Aug 2 18:31:39 2017 -0700
Commit 1
如果您想完全删除本地计算机上的更改,请执行
git reset --hard <COMMIT_ID>
。就我而言,我将用 d338e7a5626a763f74c2e69777ce930532fe008d
删除 git reset --hard 47d81989c633c3afb3fc6aa1f319c0c0d4d3871b
。当你想完全删除最后一次提交时,你需要提及最后一次的提交 ID。然后,如果您有遥控器,则将新分支推送到远程存储库。
如果您只想删除该提交但保留该提交的更改,那么
git reset <COMMIT_ID>
就可以了。
是的,您可以在本地回滚您的工作,然后“强制”推送提交
git push --force
明智且小心地使用它!
$ git commit -m "accidently committed"
$ git reset HEAD~
<< edit files as necessary >>
$ git add ...
$ git commit -c ORIG_HEAD
Many answer's here I would add something
if you want to delete recent commit from github
follow this step,
copy 2nd most recent commit hash/Id just bellow of most recent commit that u want to delete.
now open terminal
run -> git reset --hard <commit_hash>
-> git push origin <branch_name> --force