分类: Web开发
2016-01-13 20:20:12
###举例仓库
仓库地址A:git@gitlab.54php.cn:guowei/demos.git
仓库地址B:git@gitlab.54php.cn:infra/demos.git
开发人员仓库C:git@gitlab.54php.cn:lurenjia/demos.git
###多分支开发
背景以demos为例子,主分支是仓库B,开发分支是仓库A,然后每个开发人员从仓库A clone,每周会在仓库A切一个新分支(例如43周叫做demos_201443)
git clone A
将远程的仓库A 克隆到本地仓库
git remote add B_alias B
git checkout -b demos_201443_local B_alias/demos_201443
从仓库B的分支demos_201443创建一个本地分支,分支名称叫做demos_201443_local
git add .
git commit -am "代码提交NB备注信息"
git fetch --all
git rebase B_alias/demos_201443
如果rebase出现冲突,请先解决冲突,冲突解决之后,先执行git add . 然后执行 git rebase --continue
git push origin demos_201443_local:demos_201443
如果是此分支是第一次push,那么此命令的含义是将本地分支demos_201443_local推送到远程仓库A的demos_201443(但是第一次push的事后 远程仓库A还没有demos_201443,所以就是在远程分支新建分支名称为demos_201443的分支)
如果不是此分支的第一次push,那么此命令的含义就是将本地分支更新到远程仓库C的demos_201443分支中
git push origin :demos_201443
就是将远程仓库C的分支cmdb_201443删除
将本人开发代码合并到开发主分支仓库B,直接在gitlab提Merge Request 就可以了