合并具有相同提交的2个分支

时间:2016-07-13 09:38:52

标签: git version-control git-branch git-merge

我有以下情况:

master

test_1 (branch from master) with commit X updated with --amend

test_2 (branch from test_1) with original commit X and a new commit Y.

我是git的新手,当我创建第二个分支时我犯了一个错误。那个分支应该来自master,而不是 test_1 的分支,我已经在 commit X 上完成了test_1。我曾在 test_2 commit Y)工作,同时我必须修改 commit X 上完成test_1的内容

我应该如何继续将这些分支合并到master中,以便我不必创建新提交或者必须解决来自 commit X test_2之间的冲突>和来自 commit X updated test_1(许多文件已更改)?此外,commit Y是在commit X以外的不同文件上完成的。

编辑:首先,我考虑从master创建一个新分支并复制为commit Y完成的文件并与此分支合并,但我想知道是否有“更清洁”的解决方案。

1 个答案:

答案 0 :(得分:1)

cherry-pick您对test_1test_2分支的更改。要在master中获取更改,请切换到master分支,

git cherry-pick <commit-hash-of-X> <commit-hash-of-Y>

每当有amend哈希值发生变化时。 test_1中X的提交哈希值与test_2的提交哈希值不同。因此,从test_1中选择X,从test_2

中选择Y.