git团队合作 - branch分支的使用、主分支合并、冲突处理方案

情景例子

开发部3人,组长man, 组员devA,devB;

1)组长man负责代码合并、冲突处理、检查代码、合并代码到master主分支;

2)组员devA负责开发

3)组员devB负责开发

git仓库主次分支安排

1)master 保护分支,只允许管理员提交;

2)b0 次要分支,组长专用,合并其他的次分支,解决冲突后合并到master主分支;

3)b1 开发分支,某人/需求专用,例如组员devA;

4)b2 开发分支,某人/需求专用,例如组员devB;

开发/提交/合并顺序

  1. 创建好仓库、创建分支

  1. 各自拉取,并切换到各自的专用分支

  1. 组员各自开发,分别提交到自己的分支

  1. 组长切换各个分支,分别git pull,再统一切到b0特殊分支,

首先git merge b1 把b1合并到b0,解决冲突

然后git merge b2 把b2合并到b0,解决冲突

  1. 组长检查b0分支运行情况,没问题的话再切到master,把b0合并到master,主分支完成开发

  1. 组长再切到b1, 把master同步到b1,b2也是

  1. 组员各自拉取,万事大吉

例子

组长man
========================
git clone {REPO-URL}
git pull
git branch b0
git branch b1
git branch b2


组员devA
========================
git clone {REPO-URL}
git pull
git checkout b1
...疯狂开发
git status
git pull
git add .
git commit -m "b1. 登录"
git push


组员devB
========================
git clone {REPO-URL}
git pull
git checkout b2
...疯狂开发
git status
git pull
git add .
git commit -m "b2. 购物车"
git push


组长man
========================
git checkout b1
git pull
git checkout b2
git pull
git checkout b0
git pull
git status
...开始合并b1到b0
git checkout b0
git merge b1
...手动处理冲突
git status
git add .
git commit -m "b1合并到b0, 冲突已处理"
git push

...开始合并b2到b0
git checkout b0
git merge b2
...手动处理冲突
git status
git add .
git commit -m "b2合并到b0, 冲突已处理"
git push

...手动测试b0合并后的效果
...开始合并b0到master
git checkout master
git merge b0
git push
git pull


组长man
========================
...同步到所有分支
git checkout b1
git merge master
git push
git checkout b2
git merge master
git push
git checkout b0
git merge master
git push


组员devA
========================
git pull
...继续开发、提交b1


组员devB
========================
git pull
...继续开发、提交b2

猜你喜欢

转载自blog.csdn.net/qq285744011/article/details/129428461