怎样合并某一个版本到任意分支?

2014-10-13 15:11:44 +08:00
 sarices
在有很多不同分支的情况下,每一个版本的进度都不同
如果我在其中一个分支做了一个新功能
能不能单独将这个功能的几个commit合并到某一版本
3450 次点击
所在节点    git
9 条回复
Mcatt
2014-10-13 15:30:32 +08:00
cherry pick?
wjl327
2014-10-13 17:39:31 +08:00
先创建一个你要合并的版本的分支
比如:git checkout <commit > -b tmp1
然后把你那几个commit分支合并到那个tmp1
sarices
2014-10-13 17:41:58 +08:00
@wjl327 这样合并有一个问题就是会把不需要的修改合并了,还是@Mcatt 的方法好用,只是不能批量合并而已
allenm
2014-10-13 17:45:31 +08:00
cherry pick 好使。
dorentus
2014-10-14 00:37:28 +08:00
想批量的话,用 rebase -i 批量选择 commits
大致上就是搞个临时分支来放选好的这些 commits,然后直接 merge 过去
webjin
2014-10-14 01:27:04 +08:00
不错
iamleung
2014-10-14 19:03:36 +08:00
git cherry-pick,或者自己生成patch后给某个分支手动打上,应该都可以
sarices
2014-10-15 08:55:07 +08:00
@iamleung git format-patch对吧?
iamleung
2014-10-15 14:12:43 +08:00
@sarices 是的。git format-patch会生成一系列的patch文件,比较规范;
但如果这个分支下的提交记录比较直线的话,使用git diff更加简单粗暴

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/138629

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX