Git合并请求仅包含特性分支提交

3
我会尽力以最好的方式解释我的问题:
  1. 我们有一个包含以下提交记录的主分支:C1,C2,C3
  2. 我从主分支创建了自己的功能分支并推送了一个提交,因此我将拥有:C1,C2,C3,C4
  3. 与此同时,主分支已经有了另一个提交,因此我们有了:C1,C2,C3,C5
  4. 我从主分支重新定义了我的功能分支,并获得了:C1,C2,C3,C4,C5
问题是,当我从我的功能分支创建合并请求到主分支时,我的合并请求将有两个要合并的提交记录:C4,C5(这里C5的哈希值与主分支的C5提交记录不同)。
我的问题是是否有办法仅合并我的提交C4,因为C5已经在主分支中?

你确认第4步中提交的顺序是 C4,C5 而不是 C5,C4 吗? - LeGEC
是的,@LeGEC,我确认C5将是最后一次提交。 - medkhelifi
2个回答

2

feature分支变基到master分支上应该会得到以下提交序列:C1,C2,C3,C5,C4

尝试重新运行您的变基:

# from your 'feature' branch :
git checkout feature

# rebase on 'master' :
git rebase master

# your 'feature' branch should be rewritten, with commits 1,2,3,5,4
# please add a comment if this is not the case

一旦这个问题解决了,将你的分支推送(你需要使用--force),并检查你的合并请求:它应该只提到C4


这就是它; 谢谢你的帮助 :) - medkhelifi

0

你可以将你的分支合并到主分支中,它只会合并你所做的更改,不会重复合并代码。当你这样做时,它可能会显示提交记录有些奇怪,但如果你查看你的更改,你只会看到来自你的第四次提交的更改。(如果我理解正确的话。)


是的,我同意你的观点,在最终结果中,只有我的特性更改将被应用。 但是,与其他提交不同的合并请求可能会使我们的项目审阅者感到困惑,因为他会看到除了我的提交之外的其他提交(他可能已经审核过了)。 - medkhelifi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接