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

Git - Merge branch develop : HEAD - N into master

我不想将我的 developHEAD 合并到 master 分支中,而是在 HEAD 之前说五次提交。我怎样才能做到这一点?

转到你的树并选择你想要合并的点。

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

在此之后,创建一个分支到此,push然后打开PR并合并=D

命令:

git checkout HASH_CODE
git branch NEW_MERGE_BRANCH
git push origin NEW_MERGE_BRANCH

打开PR,合并or

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

git merge 实际上直接使用提交 ID,所以:

$ git merge a12399c

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

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

$ git merge develop

并且分支名称解析为分支的提示提交。这就是您习惯做的事情(从某种意义上说,它是 "better",因为默认的合并提交消息变为 "merge branch develop" 而不是 "merge commit a12399c")。但是您可以使用原始 ID 或 ID 的任何其他拼写,例如:

$ git merge develop~5

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

(如果您不是自己进行合并,而是发送拉取请求,您 确实 需要一个名称,因为您不进行合并。相反,您向其他人发送请求,要求 他们 为您进行合并 — 为此,您告诉他们 "use this name I have set, that points to the commit ID I would like you to merge." 这里的主要问题是名称必须可见给其他人。处理所有这些最简单的方法是设置一个分支名称,因为分支名称对其他人可见。)