如何撤消git flow功能完成?

hak*_*nin 35 git branching-and-merging git-flow git-branch

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

而不是这个,我想将功能分支推送到github,所以我可以在同行评审后合并它.

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

Pet*_*oes 57

这些步骤应该可以解决问题:

得到所需的sha:

git log
Run Code Online (Sandbox Code Playgroud)

<sha1>是在
<sha2>开始处理该功能之前,合并之前的提交权限是开发时的最后一次提交

git checkout develop
git checkout -b feature/<feature-name>
git reset <sha1> --hard
git checkout develop
git reset <sha2> --hard
Run Code Online (Sandbox Code Playgroud)

推送您的功能分支.

  • 你救了我的职业生涯.谢谢@Peter;) (3认同)
  • 在我意识到为什么在功能分支(第三行)上重置之前,我不得不读了几次。在隐藏中看起来很明显:) 谢谢!(顺便说一句,`&lt;sha's&gt;` 在标记中迷失了方向) (2认同)
  • 这只是救了我的屁股.谢谢彼得. (2认同)
  • 如果`git flow feature finish`是你的最后一个动作,你可以在两个分支中执行`git reset --hard HEAD ^`而不是使用commit的shas,因为提交将是两种情况下的持续. (2认同)
  • 如果像我一样,您正在尝试撤消“修补程序完成”,则还需要重置master分支中的最后一次提交。 (2认同)