【问题标题】:How to undo git flow feature finish?如何撤消 git flow 功能完成?
【发布时间】:2012-11-07 03:40:07
【问题描述】:

我正在学习 git-flow,我刚刚做了git flow feature finish <feature-name>,它合并了我的功能分支来开发和删除它。

我想把特性分支推送到 github,这样我可以在同行评审后合并它。

所以问题是,我如何“撤消”这个命令。或者换句话说,我怎样才能将我的最后两个提交从开发移动到我的功能分支?

【问题讨论】:

    标签: git git-branch branching-and-merging git-flow


    【解决方案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
    

    推送你的功能分支。

    【讨论】:

    • 在我意识到为什么要在功能分支(第三行)上重置之前,我不得不阅读这几遍。隐藏起来看起来很明显:)谢谢! (顺便说一句,&lt;sha's&gt; 迷失在标记中)
    • 这简直救了我的命。谢谢彼得。
    • 你拯救了我的职业生涯。谢谢@Peter ;)
    • 如果 git flow feature finish 是您的最后一个操作,您可以在两个分支中都执行 git reset --hard HEAD^ 而不是使用提交的 shas,因为在这两种情况下提交都是最后一个。
    • 如果像我一样,你想撤销hotfix finish,你还需要重置master分支的最后一次提交。
    猜你喜欢
    • 1970-01-01
    • 2011-09-01
    • 2017-08-11
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-22
    相关资源
    最近更新 更多