如何撤消 git flow 功能完成?
Posted
技术标签:
【中文标题】如何撤消 git flow 功能完成?【英文标题】:How to undo git flow feature finish? 【发布时间】:2012-11-07 03:40:07 【问题描述】:我正在学习 git-flow,我刚刚做了git flow feature finish <feature-name>
,它合并了我的功能分支来开发和删除它。
我想把特性分支推送到 github,这样我可以在同行评审后合并它。
所以问题是,我如何“撤消”这个命令。或者换句话说,我怎样才能将我的最后两个提交从开发移动到我的功能分支?
【问题讨论】:
【参考方案1】:这些步骤应该可以解决问题:
获取所需的 sha:
git log
<sha1>
是合并前的提交<sha2>
是您开始开发该功能之前的最后一次提交
git checkout develop
git checkout -b feature/<feature-name>
git reset <sha1> --hard
git checkout develop
git reset <sha2> --hard
推送你的功能分支。
【讨论】:
在我意识到为什么要在功能分支(第三行)上重置之前,我不得不阅读这几遍。隐藏起来看起来很明显:)谢谢! (顺便说一句,<sha's>
迷失在标记中)
这简直救了我的命。谢谢彼得。
你拯救了我的职业生涯。谢谢@Peter ;)
如果 git flow feature finish
是您的最后一个操作,您可以在两个分支中都执行 git reset --hard HEAD^
而不是使用提交的 shas,因为在这两种情况下提交都是最后一个。
如果像我一样,你想撤销hotfix finish
,你还需要重置master分支的最后一次提交。以上是关于如何撤消 git flow 功能完成?的主要内容,如果未能解决你的问题,请参考以下文章