Git合并特定commits 到另一个分支

487 阅读1分钟

网络上参考的文章

image.png

8DFA6D27-0AF5-4F31-8002-6D8B56BCA613.png

166B00AB-F559-4AD1-B856-D963C8F5639C.png

D298D460-4594-44FF-BC45-D5C72BE76B26.png

实践

1、将develop_waibaoshiyong_newstaredu几次提交,提交到develop_waibaoshiyong

DE70B8ED-22E8-4219-8194-2C74EE18843A.png

2、因为不是develop_waibaoshiyong_newstaredu最新一次提交,所以在 “测试用” 这次提交上面新建分支

先查看一下当前提交记录,找到HASH值

// 看一行的提交
git log --oneline 

85754156-5F8C-459B-B82B-5CAF7466615B.png 然后新建分支

git checkout -b xiaohui_test 85edbe5

查看当前分支

2D5C7140-1F84-4DD8-A64E-E1554B088261.png

3、将一段commit 复制到develop_waibaoshiyong

取一段 一定要在前面多一个提交截取

00B6C17B-AC1E-4978-B3B3-A96F5A034ED9.png

git rebase 5f55709 85edbe5 --onto develop_waibaoshiyong_xiaohui_test

E9E6CB52-CE67-4DF9-A121-3872E6CD021E.png 当遇到冲突的时候,需要把冲突解决完之后在运行命令

git rebase --continue

一直等到冲突都解决完

4375F2CF-03CF-4795-8A9D-9C6695347AD8.png

4、还没完,rebase之后会有一个HEAD分支, 我们发现当前的 HEAD 处于游离状态

记录一下当前HEAD的commit HASH值

039d23adf47918470328d2c046e320b688a1d699

切换到需要合并的分支

git checkout develop_waibaoshiyong

再使用 git reset 命令,将 master 所指向的 commit id 设置为当前 HEAD 所指向的 commit id

git reset --hard 039d23adf47918470328d2c046e320b688a1d699

D9FF942F-9043-4903-B242-F2AE7FC32C9E.png

5、结果,连带提交记录都带过来了

CE792952-E8AA-49B3-8455-A91F79CDEC9D.png 参考文章:

巧用 git rebase 将某一部分 commit 复制到另一个分支 - Yxh_blogs - 博客园

git rebase,看这一篇就够了 - 掘金