如何进行git合并,但不使用最新的提交

时间:2018-10-16 05:20:00

标签: git git-merge

我有一个master分支和一个develop分支。 develop分支比master领先大约10次提交,但是客户批准的版本仅包括前8次提交。

如何仅将develop中的前8个提交合并到master中?

通常我会这样做:

git checkout master
git merge develop

但是显然,这将在所有develop个提交中合并。

4 个答案:

答案 0 :(得分:4)

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

select * from sys.databases where state_desc='OFFLINE'

git checkout master git merge 3JH9sdx8 3JH9sdx8在分支的HEAD之前两次提交中的提交哈希。要查找develop哈希,可以使用3JH9sdx8并进行检查。

答案 1 :(得分:1)

您可以创建一个分支2版本

SB-INT:SIMPLE-FILE-ERROR

然后您可以合并该分支

git checkout dev
git checkout -b devapproved @~2

答案 2 :(得分:0)

您可以使用cherry-pick命令。

第一个git log命令为您提供先前提交的哈希,然后您可以使用git cherry-pick [yourHashString]命令将指定的提交合并到当前分支。

答案 3 :(得分:0)

您可以获取合并的版本并创建临时分支,例如:

# 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