现在有两个分支分别是 master 主分支和 feature 功能分支,feature 分支是从 master 分支开出来的功能分支。我想把 feature 分支合并到主分支 master 上去。
1
zo OP 慢等
|
2
fds 2017-11-14 09:59:24 +08:00
checkout 到 master 分支上
git merge --squash feature 将 feature 分支上所有修改作为一个提交加到 master 上,检查一下所有修改即可。当然分支的历史就不在主分支了,但一般开发分支的历史也不重要。 |
4
finull 2017-11-14 10:28:41 +08:00
4. revert 方式并不是回滚,是添加了 revert commit 的 feature,这时候在 merge 到 master 的是后,这个 commit 就相当于 revert 了 master 的对应修改
你应该使用 reset --hard 重置分支的指向 而不是 revet 在 feature 分支上的操作也是这样,尽量不要去 merge master 到 feature 而是使用 rebase 移动 feature 相对于 master 的位置 另外 第 2 点,我觉得不应该有什么问题 |
5
finull 2017-11-14 10:30:22 +08:00
|
7
finull 2017-11-14 10:44:11 +08:00
这种 feature 分支也是多人分支吗?
如果 master 已经推到了远程 repo,要修复 master 那只能对 master 继续 revert 了 feature 分支的话,建议找到之前的 commit 检出新分支吧 强迫症真心不能接受 revert revert commit 这种鬼 |
8
skydiver 2017-11-14 10:48:47 +08:00 via Android
2 操作没问题
4 是因为 revert 是一个新的 commit,也被 merge 到 master 了,可以 revert revert |
9
neoz 2017-11-14 12:54:51 +08:00
我现在的流程基本如下
1. 主分支 checkout 新分支( feature fix 之类 2. 提 mr/pr 3. 各种开发 4. 一小段时间就去更新下主分支 5. git rebase -i <主分支>,顺带合并 commit 等操作 6. push 7. 持续 3- 6,期间持续 review 8. 开发完结后 reviewer 正常 merge 到主分支 |
10
besto 2017-11-14 13:01:38 +08:00
同意楼上你需要定期和 master 同步, 做 rebase.
如果是想强行合并, 推荐把内容用 git format-patch 弄出来, 然后 先 git am, 可以最好, 不行再 patch -pn < 打 |
11
zdt3476 2017-11-14 14:02:23 +08:00
定期 rebase.拉远端代码也尽量 git pull --rebase
|
12
wwwyiqiao 2017-11-14 19:52:21 +08:00
我一般是这样的
1、比如现在 mster 是 1.0.0,我拉一个 feature 分支,这个 feature 分支的基线相当于 1.0.0 2、过一段时间,我 feature 分支开发完成了,想集成到 master,但是 master 升到了 1.2.0 3、这个时候将 feature 升级基线到 1.2.0, 这个时候可能有冲突 4、master 合并 feature,这个时候可能的冲突就比较小了 |