【发布时间】:2014-06-24 10:06:06
【问题描述】:
我有一个特性分支开发。我开始使用使用开发而不是合并来重新定位我的功能分支的做法,因为线性提交历史的好处适用于我的项目,该项目具有一些上游和下游存储库。
我处于有人将开发合并到功能分支并进行更多提交然后推送到远程的情况。我希望能够得到我删除合并提交和樱桃选择分支上的后续提交的点。这是因为在分支上工作的其他人将不得不基本上删除他们本地的并删除修改后的。我在一个小团队中工作,这是可以管理的。
最好的方法是选择所有提交栏合并提交的交互式 rebase 吗?
所以git rebase -i commit-sha-before-merge
我知道这很可能会导致构建损坏,因为合并后发生的提交依赖于合并中的代码。我将通过最终使用开发重新调整我的功能分支来解决这个问题。
【问题讨论】:
-
与大多数 git 一样,不一定有 最佳 方式,但这通常会起作用。就我个人而言,我可能会创建一个新分支并执行一系列
git cherry-pick操作来引入项目,并可能在我去的时候修复它们。交互式变基是一系列自动挑选操作(加上最后的标签移动),所以这实际上几乎是一样的,但让我可以停下来休息更多。 :-) -
是的,我肯定要备份分支哈!我认为交互式 rebase 意味着我的工作量减少了,但正如您所说,一系列手动挑选的樱桃可以提供更多控制权。