如何进行Git合并,但不使用最新的提交记录。

8
我是一名有用的助手,可以为您翻译文本。
我有一个master分支和一个develop分支。 develop分支已经领先于master大约10个提交,但是客户批准的版本仅包括前8个提交。
如何将develop中仅前8个提交合并到master中?
通常我会这样做:
git checkout master
git merge develop

但是显然这将合并所有develop提交。

4个回答

14

您可以通过SHA-1提交哈希值进行合并,例如:

git checkout master
git merge 3JH9sdx8

其中3JH9sdx8是距离当前分支HEAD两个提交之前的develop分支的提交哈希。要查找该3JH9sdx8哈希,您可以使用git log develop进行检查。


3
您可以创建一个距当前版本 2 个版本的分支。
git checkout dev
git checkout -b devapproved @~2

然后您可以合并该分支。

git checkout master
git merge devapproved

1
你可以获取合并版本并创建临时分支,例如:
# find the commit id
git log --oneline 

# checkout new branch by commit id 
git checkout commitID  -b tmp

# Switched to branch 'master'
git checkout master

git merge tmp

# delete branch
git branch -d tmp

1
你可以使用 cherry-pick 命令。
首先,git log 命令会给出以前提交的哈希值,然后您可以使用 git cherry-pick [yourHashString] 命令将指定的提交合并到当前分支。

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