Git开发流程最佳实践

写在前面

本文很少讲解Git命令的使用,旨在说明开发团队中如何使用git进行团队协做,release实践,如何进行hotfix等。这里推荐没用使用过Git的朋友参考廖雪峰老师的教程git

GIT 工做流程概览

孔子曰:一图顶十言。下图归纳了Git核心的工做流程,开发feature,修改bug,hotfix。app

远程master分支

始终保存的是最近一次上线PROD的代码测试

远程develop分支

始终保存的是最新提交的代码网站

图片描述

编写feature,修改bug流程

  1. 基于本地develop分支建立本地分支,命名规则feature/<task-number>-short-descriptionbug/<task-number>-short-description
  2. 编写业务代码
  3. push本地分支到远程仓库
  4. 建立pull request到远程分支develop
  5. 通过code review而且approve以后,feature或bug分支被merge到远程分支develop
  6. 经过QA测试
  7. 远程develop分支会被发布到PROD环境正式上线
  8. 上线后建立pull request,远程develop分支会merge到远程master分支

上述过程当中,本地git操做使用的部分命令url

git checkout -b feature/<task-number>-short-description
git checkout -b bug/<task-number>-short-description

git push origin feature/<task-number>-short-description
git push origin bug/<task-number>-short-description

建立pull request一般是经过git代码网站进行操做。spa

hotfix流程

  1. 基于本地master分支建立本地分支,命名规则hotfix/<task-number>-short-description
  2. 编写业务代码
  3. push本地分支到远程仓库
  4. 建立pull request到远程分支master
  5. 通过code review而且approve以后,hotfix分支被merge到远程分支master
  6. 经过QA测试
  7. 远程master分支会被发布到PROD环境正式上线
  8. 上线后,远程develop须要同步远程master分支的改动

git命令拾遗

clone远程仓库中某一个具体分支

git clone <url> --branch <branch name> --single-branch [folder]

只clone master分支到当前路径(省略了folder):code

git clone https://xxx.com/common.git --branch master --single-branch

此时使用git branch -r能够看到远程分支:教程

origin/HEAD -> origin/master
origin/master

说明咱们只clone了master分支到本地仓库。图片

origin

当git clone命令执行完成后,origin就存放了远程仓库地址。在命令中使用origin,就指代远程仓库。ip

查看本地分支对应的远程分支

git branch -vv

基于远程分支建立本地分支

经过这种方式建立的本地分支,自动把该远程分支设置为本地分支的upstream,如此一来,git pullgit push操做时再也不须要指明远程分支。

git checkout -b <local-branch-name> --track origin/<remote-branch-name>

设置本地分支的远程upstream分支

方式一:--set-upstream-to

使用git checkout -b <branch-name>建立的本地分支,能够显式指定其对应的远程分支。

git branch --set-upstream-to origin/<remote-branch-name>

方式二:git push -u

在push本地分支到远程仓库时,顺便指定本地分支的upstream分支。

git push -u origin <local-branch-name>

branch-name能够省略,默认为当前分支。

相关文章
相关标签/搜索