我的分支上有一些 incorrect commit/push
,然后我想恢复到旧的 正确 提交并将其推送到当前分支。
我有一个问题:
git log
new: xxxxxxx
...
old: ac758a3
git checkout ac758a3
git commit -m 'revert to old branch (ac758a3) to push it on current branch'
输出:
HEAD detached at ac758a3
nothing to commit, working directory clean
[编辑]
示意图:
- A(我想要的正确提交)--- B(错误提交)--- C(错误 提交)
所以我想有以下流程:
- A --- B --- C --- A
我想恢复到 A(旧提交)并将其推送到当前分支(同一个分支)。
快速解决方案是什么?
提前致谢。
最佳答案
git reset --hard <commit-id>
是你亲爱的 friend 吗?
按照以下步骤操作:
- 在您当前的分支上运行命令:
git log
- 从您要返回的日志中复制正确的提交 ID。
- 运行命令:
git reset --hard <commit-id-copied-in-step-2 above>
- 将您的分支推送到远程:
git push origin <my-feature-branch> -f
.
注意:你将无法正常推送它,你必须强制推送它,因为我们已经改变了那个分支的历史并且与远程不同步。
关于git - 如何 checkout 旧提交并将其推送到当前分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50461380/