问一个 git 分支的问题

2018-03-22 14:46:14 +08:00
 tsaohai
假设情景:目前 master 分支有了 4 次 commit,我从 C1 开了一个 dev 分支,并 commit 了一次 D1
需求:现在想在 dev 分支继续合并 master 的 C2
不知道该怎么操作,请问有没有朋友能指导一下,或者给个关键词让我搜索一下。
在此先行谢过了!
图片二楼放
1554 次点击
所在节点    问与答
14 条回复
tsaohai
2018-03-22 14:54:08 +08:00
sonack
2018-03-22 14:55:31 +08:00
git merge c2 的 sha 码
songz
2018-03-22 14:55:32 +08:00
什么是继续合并?
假设你是想 dev 分支包括 C2:
`checkout dev`
`cherry-pick C2`
sea516
2018-03-22 14:56:21 +08:00
cheery pick
tsaohai
2018-03-22 14:56:25 +08:00
@sonack #2 多谢,感觉自己像个 ruozhi
tsaohai
2018-03-22 14:58:15 +08:00
@songz #3 是想在 dev 的 d1 后包含 c2。多谢!
tsaohai
2018-03-22 15:04:54 +08:00
结帖了,多谢回复的朋友们!🙏
siguretto
2018-03-22 16:10:14 +08:00
路过皮一下,我更喜欢 git rebase c2
msg7086
2018-03-22 16:29:04 +08:00
这就是变基。
本来 c2 的基是 c1,你要把他加到 d1 后面,两种做法。
一是把 c2 到 c4 的提交嫁接下来,用 Cherry pick,另一个就是变基,用 rebase。
我不用命令行,所以具体命令就不给了。GUI 上拖一下一秒的事情。
msg7086
2018-03-22 16:30:11 +08:00
merge c2 应该是一种对 merge 的误用。
azygote
2018-03-22 17:02:12 +08:00
如果 dev 分支是一个私有的分支(本地 or 只有你一个人开发)可以用 rebase,如果是公共的分支(已经被 push 到远程而且其他人也在用)那还是用 cherry pick 吧
azygote
2018-03-22 17:04:07 +08:00
其实最好的做法是在 master C1 这个 commit 上 checkout 出来一个 hotfix 分支,在上面完成功能,然后同时 merge 到 master 以及 dev。可以 google 搜一下 gitflow
sonack
2018-03-22 18:11:19 +08:00
@tsaohai 楼上的各位大佬也都说了 这个虽然可以用但是不推荐。最好还是用 rebase 或者 cherrypick
mritd
2018-03-22 20:05:04 +08:00
Gitflow 了解下

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

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

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

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

© 2021 V2EX