大神们,求助。
背景:test 是脏分支,dev 是最新的从 master 拉出来分支。
一个需求更改,忘记了 checkout 到 dev,而是在 test 上改的。
如何把脏分支 test 的这部分修改 merge 到 dev 上?
1
tyx1703 2020-12-19 12:31:39 +08:00 via iPhone 1
cherry-pick
|
3
ytmsdy 2020-12-19 13:01:15 +08:00 via iPhone
下个 sourcetree,然后一块一块的暂存
|
4
Jirajine 2020-12-19 13:24:55 +08:00 via Android
在 test 分支上
git reset <你想要 merge 的 commit 提交前> git checkout --merge dev #解决冲突 git add . git commit |
5
chibupang 2020-12-19 13:30:06 +08:00 via iPhone
git reset HEAD
git stash git checkout dev git stash pop |
6
dswyzx 2020-12-19 13:30:41 +08:00 via iPhone
有了 gui,一切的骚操作都是那么简单。但毕竟 v2er,gitbash 保平安。
我只知道关键字 摘取 就是你想要的 |
7
kingfun 2020-12-19 15:24:29 +08:00
sourcetree 一个遴选功能就秒杀上面各种繁杂的命令行了,可以基于任意一次 commit 进行 merge 到任何一个分支。
|
8
mouyong 2020-12-19 16:47:54 +08:00
git log -2 查看 commit hash,然后执行 git cherry-pick 指定的 commit hash 值
|
9
leelz 2020-12-19 21:03:35 +08:00
git log
复制 commit id git checkout dev git cherry-pick commit id |
10
zoomdong 2020-12-19 22:41:16 +08:00
直接把这个提交 cherry-pick 过去就行了
|
11
msg7086 2020-12-19 23:20:34 +08:00
Rebase 或者 Cherry-pick 或者提出文件然后 Commit 都可以。
本质上是把更改差分从一个分支搬到另一个分支,很多操作都可以实现这个结果。 |
12
LudwigWS 2020-12-20 07:59:33 +08:00 via iPhone
@kingfun 不就是 cherry-pick 吗,一行命令的事。用 GUI Git 还想秒杀命令行😁
|
13
Jarvennnnnnnn 2020-12-20 15:43:04 +08:00
sourcetree 是什么软件
|
14
we3613040 2020-12-20 16:50:29 +08:00
@Jarvennnnnnnn git 图形工具
|