大家帮帮忙, 我现在是准备用 cherry-pick 来提交,但是老是会报错,有没有什么其他的好办法
1
chenghuang 2016-08-17 16:43:03 +08:00
git merge origin/master
git merge origin/develop git cm git push merge request |
2
julyclyde 2016-08-17 16:44:46 +08:00
似乎取决于你的 develop 和 master 啥关系啊
|
4
julyclyde 2016-08-17 16:49:43 +08:00
@Zeahoo merge-base develop master 是不是比 merge-base 新分支 master 要更早些?
|
5
Zeahoo OP @julyclyde 添加功能的时候都是先把功能 merge 到 develop 上再从 develop merge 到 master 上的,只不过我这次弄错了,从 master 切出分支
|
6
wenbinwu 2016-08-17 17:00:09 +08:00
直接 merge develop 不就行了么?
|
7
9hills 2016-08-17 17:01:16 +08:00
用 merge 的都是误人子弟哈,等着你的 history 一团乱吧
git checkout to_merge_branch git checkout -b tmp_branch (复制临时分支,避免新手搞晕了头) git rebase develop (以 develop 为基准 rebase ,此时可能要处理冲突) git checkout develop git merge tmp_branch |
8
wangxn 2016-08-17 17:04:30 +08:00 via Android
git rebase
|
9
cjyang1128 2016-08-17 17:24:21 +08:00 1
rebase -i && pick squash
cherry-pick |
10
vwhenx 2016-08-17 17:28:13 +08:00
按理说 master 分支是应该可以随时合并到其他分支的才对
|
11
kisnows 2016-08-17 17:52:00 +08:00
rebase 冲突太多了,需要一次次的去解决。还是 merge 来的快一点
|
12
Sharuru 2016-08-17 18:00:44 +08:00
= = 一般自己的个人 dev 分支才会在 push 之前用用 rebase ,通常特性都是 merge 的。
merge 的时候 squash 成一条 commit 信息就好,不然 history 太美。 |
13
julyclyde 2016-08-17 20:18:58 +08:00
cherry-pick 按说应该可以啊
|
14
zhang6464 2016-08-17 20:30:47 +08:00
@cjyang1128 正解, rebase 要带上基线,你的最早的 commit , cherry-pick 也可以把所有代码提出来,然后 stash save 一下, checkout 到 develop 再 pop
|
15
zhang6464 2016-08-17 20:31:48 +08:00
merge 需要你手动把不是你修改的代码剔除掉。。如果 diff 不是太多的话,也可以考虑 merge
|
16
wweir 2016-08-18 10:04:21 +08:00
|
17
baikaishui77 2016-08-18 12:23:50 +08:00
@kisnows 才五个 commit 而且 commit 如果更多 可以先 rebase -i 合并 commit 再分支 rebase
|
18
baikaishui77 2016-08-18 12:35:45 +08:00
cherry-pick 实际上效果和 rebase 一致
|
19
zenliver 2016-08-18 17:01:12 +08:00
分别合并到 master 和 develop ~~~
|