我的分支上有一些不正确的 commit/push
,然后我想恢复旧正确提交并将其推送到当前分支。
我遇到了问题:
git log
new: xxxxxxx
...
old: ac758a3
git checkout ac758a3
git commit -m 'revert to old branch (ac758a3) for push it on current branch'
输出:
HEAD detached at ac758a3
nothing to commit, working directory clean
[编辑]
所以我想要以下流程:
我想恢复到A(旧提交)并将其推送到当前分支(同一分支)。
什么是快速解决方案?
提前致谢。
答案 0 :(得分:2)
git reset --hard <commit-id>
是你的朋友。
按照以下步骤操作:
git log
git reset --hard <commit-id-copied-in-step-2 above>
git push origin <my-feature-branch> -f
。注意:您将无法正常推送它,因为我们更改了该分支的历史记录并且与远程设备不同步,所以您必须强行推送它。
答案 1 :(得分:0)
如果您已经推送了提交并且人们已经提取了它,那么最好的解决方案是添加一个有效撤消先前提交的新提交。事情很正常。
你可以使用git revert撤消一系列提交
%git revert --no-edit SHA1..SHA2
这将以相反的顺序应用补丁并撤消更改。有关更多信息,请参阅git revert文档。