先声明几个变量

仓管A:主分支,只有master分支
仓管B:开发分支,只有各个业务开发分支   
仓管B fork 于 A
如下图
点击查看大图点击查看大图


为了保证 代码的稳定性,只有 仓管B中的某个分支测试完毕并进行了代码review 才可以 和 仓管A进行 merge

PS: 只有仓库B所有开发都有权限  仓库A 只有特定人才有权限,这样可以保证仓库A的代码稳定性


流程和命令如下:

1.某业务功能确定要开发,2015年6月20号开始开发,新建分支

  1. git checkout -b pmt_20150630_walle  remote_a/master //从 A仓管新建分支
  2. git push remote_b pmt_20150630_walle:pmt_20150630_walle //在B仓管新建分支pmt_20150630_walle这样其他人可以直接使用此分支开发

2.开发过程中提交更新 直到测试

  1. git add .
  2. git commit -am "vincent -- comment"
  3. git push remote_b pmt_20150630_walle:pmt_20150630_walle //推送更新到远程

3.测试完成 准备合并到A的master

  1. git fetch --all
  2. git rebase  remote_a/master
  3. git add .//如果有冲突,解决冲突,然后git add. ,git rebase --continue,一直重复直到合并成功
  4. git rebase --continue
  5. git push remote_b pmt_20150630_walle:pmt_20150630_walle -f //强制推送rebase合并的到对应分支

4. 在git工具中直接提 merge request ,然后merge到 仓库A的master 。如果公司有开发发布平台,那么这一步直接在发布机器服务器进行merge 命令操作