git 合并请求仅功能分支提交
git merge request only feature branch commits
我会尽力解释我的问题:
- 我们的主分支有以下提交:C1、C2、C3
- 我从 master 创建了自己的功能分支并推送了一次提交,所以我将拥有:C1、C2、C3、C4
- 与此同时,master 分支又进行了一次提交,因此我们有:C1、C2、C3、C5
- 我将我的功能分支从主分支变基,我得到:C1、C2、C3、C4、C5
问题是当我创建一个从我的功能分支到主分支的合并请求时,我的合并请求将有两个提交要合并:C4、C5(这里 C5 与主 C5 的散列不同提交)。
我的问题是有没有办法只合并我的提交 C4,因为 C5 已经在 master 分支中了?
您可以将您的分支合并到主分支中,它只会合并您所做的更改,不会合并代码两次。当你这样做时,它可能会显示奇怪的提交,但如果你查看你的更改,你只会将更改列为来自你的第 4 次提交。 (如果我没看错的话。)
在 master
之上重新设置 feature
应该导致提交顺序:C1, C2, C3, C5, C4
尝试重新运行你的 rebase :
# 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
我会尽力解释我的问题:
- 我们的主分支有以下提交:C1、C2、C3
- 我从 master 创建了自己的功能分支并推送了一次提交,所以我将拥有:C1、C2、C3、C4
- 与此同时,master 分支又进行了一次提交,因此我们有:C1、C2、C3、C5
- 我将我的功能分支从主分支变基,我得到:C1、C2、C3、C4、C5
问题是当我创建一个从我的功能分支到主分支的合并请求时,我的合并请求将有两个提交要合并:C4、C5(这里 C5 与主 C5 的散列不同提交)。
我的问题是有没有办法只合并我的提交 C4,因为 C5 已经在 master 分支中了?
您可以将您的分支合并到主分支中,它只会合并您所做的更改,不会合并代码两次。当你这样做时,它可能会显示奇怪的提交,但如果你查看你的更改,你只会将更改列为来自你的第 4 次提交。 (如果我没看错的话。)
在 master
之上重新设置 feature
应该导致提交顺序:C1, C2, C3, C5, C4
尝试重新运行你的 rebase :
# 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