Git - 合并 develop 分支: HEAD - N 到主分支 master

7
我想将我的develop分支中HEAD以前的五次提交合并到master分支,而不是直接合并HEAD。我该如何实现?
2个回答

8
"

git merge 实际上直接使用提交 ID 进行操作,因此:

"
$ git merge a12399c

尝试将该提交(及其历史记录)与当前分支合并。

您可以使用分支名称拼写提交ID:

$ git merge develop

分支名称解析为该分支的“最新提交”。这是您习惯做的事情(在某种意义上它更好,因为默认合并提交消息变成了“合并develop分支”,而不是“合并提交a12399c”)。但是您可以使用原始ID或任何其他ID的拼写方式。
$ git merge develop~5

使用gitrevisions语法来命名要合并的提交。

(如果您不是自己执行合并,而是发送拉取请求,则需要名称,因为您不执行合并。相反,您向其他人发送请求,要求他们为您执行合并,并告诉他们“使用我设置的指向我想要合并的提交ID的此名称”。这里的主要复杂性在于名称必须对其他人可见。处理所有这些的最简单方法是设置一个分支名称,因为分支名称对其他人可见。)


2

转到您的代码库,选择要合并的分支。

获取提交的哈希值,然后转到终端并检出您的哈希值。

接下来,创建一个指向此点的分支,推送并打开PR并合并=D

命令:

git checkout HASH_CODE
git branch NEW_MERGE_BRANCH
git push origin NEW_MERGE_BRANCH

开放PR,合并或者

git checkout master
git merge --no-ff NEW_MERGE_BRANCH

解决方案2

git reset --soft HEAD@{5}
git branch NEW_MERGE_BRANCH
git push origin NEW_MERGE_BRANCH

git checkout master
git merge --no-ff NEW_MERGE_BRANCH

酷!但PR是什么意思? - El Dude
池请求,查看 GitHub 页面有一个名为“池请求”的子菜单。 - Lucas Batista Gabriel

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