如何解决当它所基于的功能不再存在时,Git Flow 功能分支开发
我让自己陷入了一点泡菜。
我不小心将一个特性(我们称之为 A)基于另一个特性(我们称之为 B)而不是开发分支。同时,功能A完成并合并开发。
现在我想完成功能 B,但在 Sourctree 上出现以下错误
致命:基础“功能/A”在本地不存在或不是分支。 无法完成功能分支“功能/B”。
我试过:git rebase --onto develop feature/B
但这只是从 B 中删除了更改并在分支上推送了开发,我很幸运我的遥控器捡到了它,我能够拉/同步我在遥控器上所做的更改以恢复 B 上的内容。>
我有什么办法可以从这件事中回来吗?以某种方式将 B 基于 A 的引用更改为说 B 基于开发(已经包含 A)?
:(
解决方法
Rebase 可以正常工作,但是您必须还告诉它要从 rebase 跳过哪些修订。如果分支消失了,请使用分支下方基础分支的最后一个修订 ID(可以通过简单的 git log
看到):
git rebase --onto develop id-last-revision-of-A feature/B
,
在 Sourcetree 中,如果您导航到设置 -> 编辑配置文件(在记事本中打开),您可以更改:
[gitflow "branch.feature/B"]
base = branch.feature/A
到:
[gitflow "branch.feature/B"]
base = develop
这将允许您在分支 develop 上完成该功能(只需为任何潜在的冲突做好准备。在我的情况下,我没有,因为功能 A 已经在开发分支中)
只要确保你不会像我一样错误地将一个功能基于另一个功能!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。