git 脏分支新的修改如何 merge 到开发分支

2020-12-19 12:28:12 +08:00
 geledelai1990000

大神们,求助。

背景:test 是脏分支,dev 是最新的从 master 拉出来分支。

一个需求更改,忘记了 checkout 到 dev,而是在 test 上改的。

如何把脏分支 test 的这部分修改 merge 到 dev 上?

2742 次点击
所在节点    程序员
14 条回复
tyx1703
2020-12-19 12:31:39 +08:00
cherry-pick
heyjei
2020-12-19 12:32:49 +08:00
@tyx1703 配合 sourcetree 使用 cherry pick 更香。
ytmsdy
2020-12-19 13:01:15 +08:00
下个 sourcetree,然后一块一块的暂存
Jirajine
2020-12-19 13:24:55 +08:00
在 test 分支上
git reset <你想要 merge 的 commit 提交前>
git checkout --merge dev
#解决冲突
git add .
git commit
chibupang
2020-12-19 13:30:06 +08:00
git reset HEAD
git stash
git checkout dev
git stash pop
dswyzx
2020-12-19 13:30:41 +08:00
有了 gui,一切的骚操作都是那么简单。但毕竟 v2er,gitbash 保平安。
我只知道关键字 摘取 就是你想要的
kingfun
2020-12-19 15:24:29 +08:00
sourcetree 一个遴选功能就秒杀上面各种繁杂的命令行了,可以基于任意一次 commit 进行 merge 到任何一个分支。
mouyong
2020-12-19 16:47:54 +08:00
git log -2 查看 commit hash,然后执行 git cherry-pick 指定的 commit hash 值
leelz
2020-12-19 21:03:35 +08:00
git log

复制 commit id

git checkout dev

git cherry-pick commit id
zoomdong
2020-12-19 22:41:16 +08:00
直接把这个提交 cherry-pick 过去就行了
msg7086
2020-12-19 23:20:34 +08:00
Rebase 或者 Cherry-pick 或者提出文件然后 Commit 都可以。
本质上是把更改差分从一个分支搬到另一个分支,很多操作都可以实现这个结果。
LudwigWS
2020-12-20 07:59:33 +08:00
@kingfun 不就是 cherry-pick 吗,一行命令的事。用 GUI Git 还想秒杀命令行😁
Jarvennnnnnnn
2020-12-20 15:43:04 +08:00
sourcetree 是什么软件
we3613040
2020-12-20 16:50:29 +08:00
@Jarvennnnnnnn git 图形工具

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

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

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

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

© 2021 V2EX