我知道当你启动一个功能分支时,你输入git flow feature start [],如果你想完成一个分支,你输入git flow feature finish。
但是当你完成一个分支时,它会将它与develop合并并自动删除分支。我如何检索该分支?
答案 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
推送您的功能分支。