前端代码合并流程(命令行方式)
合并强制使用rebase方式,采用GitFlow的简化版,远程master分支作为最新代码,所有人的代码跟master同步。
明确5个分支:
- 远程主干master(origin/master)
- 本地主干master
- 个人远程分支(origin/user-brancn)
- 个人本地分支(user-branch)
- 个人功能开发分支(feature/feature-xxx)
具体如下图:
开发时,不用关心远程分支
完整的代码协作流程:
拉取代码,建立个人分支
- pull 远程主干master分支代码(第一步 git clone repo-url)
- git branch user-branch-name,创建个人分支
所有开发在个人分支上进行,如创建feature分支,合并feature分支等
功能开发完成,合并feature分支到个人
- 从feature分支切换到个人分支 (git checkout user-branch-name)
- 在个人分支merge feature分支(git merge feature-x)
确认开发完成,需要将代码推送远程与他人合并:
先同步远程代码到本地:
- 从个人分支切换到master分支, (git checkout master)
- pull 远程分支master, (git pull origin master)
- 然后切换到个人分支(git checkout user-branch-name),执行rebase(git rebase master)
- 如有冲突,解决冲突后完成rebase流程
- rebase完成后,推送到远程个人分支(git push origin user-branch-name)
- 然后在远处web页面发起PR,由他人审核后并合并到master
执行rebase时,一定要在个人分支上执行。