在master分支中,我有以下提交:
A-B-C-D-HEAD
在分支"测试"我有:
A
我做了:
git cherry-pick <SHA FOR COMMIT C>
但是,我不想要提交B&#34;测试&#34;科。我该怎么理睬呢?这样测试分支就像: A-C
答案 0 :(得分:4)
你可以这样做:(假设主人指向D)
1.(主)git-checkout -b test
2.(测试)git rebase -i
您将拥有一个提交列表,如:
pick b6e7d38 A
pick 263b0cc B
pick 6bcea1d C
pick 6kdf8gd D
只需删除您不想要的提交(此处为B和D)。保存并继续,在变基时将省略它。
答案 1 :(得分:0)
根据我的最佳选择是git format-path
。
Step1 :(主人)git format-patch -2
第2步:(主人)git checkout -b test <SHA of Commit-A>
第3步:(测试)git am 0002-Commit-Msg-of-C
你很高兴!
说明:Step1将创建2个补丁文件,一个用于提交D,一个用于C.在步骤3中,您将应用在commit-C over A(测试点到A,步骤2)时进行的补丁(更改)
希望这有帮助!
PS:如果B中的更改与C中的更改无关,则此方法有效。