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能夠省略,默認爲當前分支。

相關文章
相關標籤/搜索