我想将我的
develop
分支中HEAD以前的五次提交合并到master
分支,而不是直接合并HEAD。我该如何实现?git merge
实际上直接使用提交 ID 进行操作,因此:
$ git merge a12399c
尝试将该提交(及其历史记录)与当前分支合并。
您可以使用分支名称拼写提交ID:
$ git merge develop
$ git merge develop~5
使用gitrevisions
语法来命名要合并的提交。
(如果您不是自己执行合并,而是发送拉取请求,则需要名称,因为您不执行合并。相反,您向其他人发送请求,要求他们为您执行合并,并告诉他们“使用我设置的指向我想要合并的提交ID的此名称”。这里的主要复杂性在于名称必须对其他人可见。处理所有这些的最简单方法是设置一个分支名称,因为分支名称对其他人可见。)
转到您的代码库,选择要合并的分支。
获取提交的哈希值,然后转到终端并检出您的哈希值。
接下来,创建一个指向此点的分支,推送并打开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
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