1. 程式人生 > >GIT 簡單版

GIT 簡單版

作用 一個 6.4 image elk block git blank 檢出

Git規範

by 程序亦非猿 2016.4.6
這又是一篇我在公司分享的,想制定一下Git的規範,有興趣的可以看看~
上一篇在這裏

分支模型

每個項目必須要有masterdevelop分支。
每個開發人員擁有一個自己的分支,如yfychz

master 分支

master 分支只能存在release版本的代碼,並需要對每個release打對應的tag

develop 分支

developmaster分支檢出,它作用主要是日常開發合並代碼,並與master分支做交互。
當參與開發的人員較多時,可指定一個人管理develop

分支,專門負責合並代碼,便於管理,避免多人同時使用develop分支而出現問題。

另外當功能開發完畢後,代碼合並入develop分支,測試完成通過後,merge到master分支,並在master上打tag。

開發人員自己的分支

開發人員自己的分支,由develop分支檢出,是自己負責的功能分支的上遊

工作流程

Feature (新需求開發)

當有新需求需要開發時:

  1. 每個開發人員在自己的分支上檢出一個新的feature分支,如在czn上檢出feature_search分支
  2. 在新的feature分支上進行開發
  3. 新功能開發完畢後合並到自己的分支
  4. 所有人員的分支合並到develop分支,並進行測試
  5. 測試通過後合並到master,並打tag

Hotfix (緊急修復bug)

當有緊急bug需要修復時

  1. 從master 拉分支hotfix_xxx
  2. 修復完畢後合並到develop分支
  3. 測試完畢後合並到master分支,並打tag
小結

分支模型已經工作流程大約如圖所示:
技術分享

Gitflow

gitflow是git的一個輔助工具,可以簡化我們新建分支,合並分支,刪除分支的操作,也可以減少人工誤操作而出錯的概率

舉個例子:
新功能能開發,使用gitflow之前:

git checkout yfy git checkout 
-b feature_search ...developing... git checkout yfy git merge feature_search git branch -d feature_search

使用gitflow之後:

git flow feature start search ...developing... git flow feature finish search

是不是省去了很多繁瑣的操作?

gitflow 的功能不止如此~

gitflow雖好,但是考慮到大家剛開始使用git,需要熟悉git以及git命令,所以它現在不是強制的,如果有興趣或者你也懶得敲那麽多命令的話,建議看看 git-flow 備忘清單

PS: 事實上git最開始是沒有gitflow的,它是用戶實際經驗的總結,so,希望我們團隊最終能擁有最適合我們自己的gitflowgitf

最後

規範是死的,人是活的,上訴所說都是比較理想化的,實際情況可能更加復雜,大家可以根據實際情況調整。

GIT 簡單版