我已经表演过git commit
随后是一个git push
。如何在本地和远程存储库上恢复该更改?
$ git log
commit 364705c23011b0fc6a7ca2d80c86cef4a7c4db7ac8
Author: Michael Silver <Michael [email protected] /cdn-cgi/l/email-protection>
Date: Tue Jun 11 12:24:23 2011 -0700
git reset --hard HEAD~1
git push -f <remote> <branch>
(推送示例: git push -f origin bugfix/bug123
)
这将撤消上次提交并将更新的历史记录推送到远程。您需要通过-f
因为您要替换远程中的上游历史记录。
Edit:
请注意--hard
将使您的提交无法访问(即它似乎已被删除,但您仍然可以git show <hash>
or git log <hash>
如果你还记得它的哈希值的话)。如果您想保留更改,请运行:
git reset [--mixed] HEAD~1
此时,您已经进行了未暂存的更改,因为您使用了--mixed
,这是默认值。
您可能首先要先更新远程树(即删除提交):git push -f <remote> <branch>
由于您仍然在本地进行更改,因此您可以创建另一个分支并commit
他们在那里(并且push
如您认为合适)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)