- pull 和 pull --rebase有什么区别?
pull = fetch + merge, pull --rebase = fetch + rebase .
- merge 和 rebase有什么区别?
在主分支状态下将子分支进行合并:merge会保留类树子分支结构,rebase将子分支和master线性合并,抛弃子分支结构。
- rebase和merge不是二选一问题,merge 和 rebase 的组合使用:
场景:组员A从master 拉一条branch feature-A进行开发, 组员B从master 拉一条branch feature-B进行开发。组员A先完成开发,并将feature-A合并到master。此时组员B应该做如下操作:
$ git switch feature-B
$ git rebase master
fix conflicts…
$ git rebase --continue
开发完成后
$ git switch master
$ git merge --no-ff -m "Merge branch 'feature-B'" feature-B
-
代码提交遵循
commit -> pull -> push
-
通常主分支禁止push,组内各成员在开发分支开发完成后,由专人将分支合并。
-
常见开发分支:
–dev
: 开发分支
–sit
: 测试分支
–uat
: 近生产分支
–prod
: 生产分支
一般遵循dev -> sit -> uat -> prod
进行合并。