合并vs rebase
我看过你什么时候使用git rebase而不是git merge? 但是我想确定在这种情况下选择哪种解决方案:我想在Master上实现一个新功能,所以我将它分支到一个新的功能分支。 我在功能上做了10次提交,而其他人则对主提交了其他提交。
我的问题是,如果我想让我的分支与Master一起用于测试目的,但我需要用新的主集成提交进行测试。 那么,我应该将主人合并到功能中(而不是将功能合并到主人中,在我测试之前将主人的修改应用到主人身上)还是进行重做?
为什么不创建一个新分支来测试合并版本? 例如:
git checkout -b test-merged-feature master
git merge my-feature
[... do your testing ..]
没有特别的理由在这里做rebase,但如果你还没有推动你的功能分支,那也可以。 这些问题部分是关于你希望你的历史看起来如何 - 有些人不喜欢看到很多合并; 有些人更喜欢将其作为跟踪对特定功能作出贡献的方式。
除非你已经推动了你的分支(并且你知道其他人已经克隆了你的回购),否则我仍然会做一次rebase,就像我在“git rebase vs git merge”的回答中所提到的那样。
测试与否,我通常会在每次更新本地回购(git fetch)时进行一次rebase,以确保最终合并( Feature
to master
)将是一个快速向前的合并。
因此,它不仅是了解您的历史看,但它主要是关于如何确保你正在开发什么不是基于老版本的master
,并保持针对所做的最新演进工作master
一段时间。
在我熟悉的工作流程中,有一个主干,集成分支和功能分支
我一直在向“衍生”分支转型。 (通过派生分支,我指的是从干线开始的方向),并且合并到整合分支。
我喜欢我总是在一个与我将与之融合的分支有着同样历史的分支中工作。 我喜欢合并成为快进,所以,我知道我刚刚合并的内容与我刚刚在分支中测试的内容完全相同。
链接地址: http://www.djcxy.com/p/49235.html上一篇: Merge vs rebase