git merge request only feature 分支提交

标签 git gitlab rebase

我会尽力解释我的问题:

  1. 我们的主分支有以下提交:C1、C2、C3
  2. 我从 master 创建了自己的功能分支并推送了一个提交,所以我将拥有:C1、C2、C3、C4
  3. 与此同时,master 分支又进行了一次提交,因此我们有:C1、C2、C3、C5
  4. 我将我的功能分支从主分支 rebase ,并获得:C1、C2、C3、C4、C5

问题是当我创建一个从我的功能分支到主分支的 merge 请求时,我的 merge 请求将有两个提交要 merge :C4、C5(这里 C5 与主 C5 提交的哈希值不同) .

我的问题是,由于 C5 已经在 master 分支中,是否有任何方法可以仅 merge 我的提交 C4?

最佳答案

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),并检查你的 merge 请求:它应该只提到C4

关于git merge request only feature 分支提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62823694/

相关文章:

git - 将 git 外部的代码 merge 到现有的 git 项目中

Git - 如何使用现有 PR 更改 git 分支的起点?

git - 为什么 git reset 不起作用?

GIt 从本地推送到本地

git - github中的重复文件夹

node.js - Gitlab CI 变量返回空字符串?

git - git merge 多个分支

node.js - 在服务器和 Git Repo 上使用应用程序 key 的最佳实践

ssl - Gitlab Pages 自定义域 SSL

docker - 如何查找在gitlab中运行的docker-in-docker的URL