我有以下情况:
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
以外的不同文件上完成的。
答案 0 :(得分:1)
cherry-pick
您对test_1
和test_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