如何在gitflow中完成分支后检索分支

时间:2012-08-19 18:24:46

标签: git git-flow

我知道当你启动一个功能分支时,你输入git flow feature start [],如果你想完成一个分支,你输入git flow feature finish。

但是当你完成一个分支时,它会将它与develop合并并自动删除分支。我如何检索该分支?

3 个答案:

答案 0 :(得分:2)

如果您刚刚这样做,该功能将是当前提交的第二个父级(合并提交)。您可以使用

重新创建分支
 git branch my-feature HEAD^2

创建它并一次性检查

 git checkout -b my-feature HEAD^2

如果已经有一段时间了,它可能不是当前提交的第二个父级。使用

 gitk 

git log --graph --oneline

找到该分支的完成位置并使用HASH或tree-ish来恢复它。如果您保证合并消息是默认消息,则可以

git branch my-feature $(git log -1 --format=%H --grep="merge branch 'my-feature'")^2

答案 1 :(得分:1)

在git中,分支实际上只是提交的指针。虽然在删除分支后无法“检索”分支,但您可以创建一个新分支,指向与已删除分支相同的提交。

一种方法是使用gitk --all获取该提交的SHA1。然后你就执行

 git checkout -b [branch name] [sha1 of your commit] 

答案 2 :(得分:0)

唯一的方法是撤消分支合并。

这里看一下接受的anwser => CLICK ME!!!

这些步骤可以解决问题:

得到所需的沙子:

git log

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

git checkout develop
git checkout -b feature/<feature-name>
git reset <sha1> --hard
git checkout develop
git reset <sha2> --hard

推送您的功能分支。