【Git 使用笔记】第三部分:多分支开发

###举例仓库

  • 仓库地址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 就可以了