前端代码合并流程(命令行方式)

    合并强制使用rebase方式,采用GitFlow的简化版,远程master分支作为最新代码,所有人的代码跟master同步。

    明确5个分支:

    1. 远程主干master(origin/master)
    2. 本地主干master
    3. 个人远程分支(origin/user-brancn)
    4. 个人本地分支(user-branch)
    5. 个人功能开发分支(feature/feature-xxx)

    具体如下图:

    Git工作流整理 - 图1

    开发时,不用关心远程分支

    完整的代码协作流程:

    拉取代码,建立个人分支

    • 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时,一定要在个人分支上执行。