我知道,例如,当您启动一个功能分支时,您输入 git flow feature start [] 并且如果您想完成一个分支,您输入 git flow feature finish 。
但是当你完成一个分支时,它会将它与开发合并并自动删除该分支。我如何检索该分支?
如果您只是这样做,该功能将是当前提交(合并提交)的第二个父级。您可以使用重新创建分支
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
在 git 中,分支实际上只是指向提交的指针。尽管您不能在删除后“检索”一个分支,但您可以创建一个指向与已删除分支相同的提交的新分支。
一种方法是使用gitk --all
. 然后你只需执行
git checkout -b [branch name] [sha1 of your commit]
唯一的方法是撤消分支合并。
在这里看看接受的anwser => CLICK ME!!!
这些步骤应该可以解决问题:
获取所需的 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
推送您的功能分支。