天天看點

學習下git中的gitflow流程

當在團隊開發中使用版本控制系統時,商定一個統一的工作流程是至關重要的。Git 的确可以在各個方面做很多事情,然而,如果在你的團隊中還沒有能形成一個特定有效的工作流程,那麼混亂就将是不可避免的。

目的

為了幫助我們解決這個混亂流程,我們将在内部執行一套流程,幫助我們管理整個流程。

gitflow操作流程

gitflow簡介

學習下git中的gitflow流程

我們主要區分為5個操作。

master生産分支:每個版本通過tag來控制,版本控制采用三位數确定。數字順序采用從左往右。 bug修複最後一位,小版本疊代采用第二位數字,大版本跌疊采用第一位數字。

hotfix: 上線版本的bug修複,修複完畢需要合并到dev與master主支。如果存在relase分支,那麼也需要合并到relase分支上。

relase:功能開發完畢與單機測試完畢,需要進行聯合測試的分支。該版本測試完畢,合并到master與dev分支,并且進行删除。relase采用commitID的前五位或者前六位作為标簽疊代。

dev: 開發分支,整個程式開發流程都是在dev開發分支上。開發分支采用latest作為做新的版本。

feature: 新功能分支,每一個功能開辟一個分支,開發完畢合并到dev分支,自己獨立控制功能分支操作

在git中,每一個點的出現都會有對應的操作。

流程操作。

流程操作,隻提供一種方式。其他方式可以根據自己習慣來執行。

進行開發的時候,使用dev遠端分支開發,建立feature分支。

克隆的代碼是按照master主幹為主的代碼

git clone ssh://[email protected]:2022/fruiqi/demo1.git           

檢視所有分支

buntu@node1:~/code/test/demo1$ git branch -a 
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/maste           

下載下傳dev分支代碼

直接建立feature分支開發

ubuntu@node1:~/code/test/demo1$ git checkout -b feature/select origin/dev 
Branch dev set up to track remote branch dev from origin.
Switched to a new branch 'feature/select'
開心的在上面開發吧           

在本地dev分支上 remotes/origin/maste建立feature進行開發。

ubuntu@node1:~/code/test/demo1$ git checkout -b dev origin/dev 
Branch dev set up to track remote branch dev from origin.
Switched to a new branch 'dev'

ubuntu@node1:~/code/test/demo1$ git branch -a 
* dev
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master

ubuntu@node1:~/code/test/demo1$ git checkout feature/dev 
Switched to branch 'feature/dev'

ubuntu@node1:~/code/test/demo1$ git branch -a 
  dev
* feature/dev
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master           

修改代碼後進行修改

采用本地dev分支上,建立新的分支feature進行修改操作。

修改代碼

使用git status 檢視修改的内容,防止多餘的不必要内容上傳到倉庫中。

git add 需要增加到倉庫的檔案内容

git commit -m “增加描述”

git checkout dev

git pull origin dev 将本地dev的分支與遠端dev分支進行同步

git merge feature/dev 合并功能分支到本地的dev分支上,如果出現沖突代碼,進行解決後,再次送出。

git tag -a tagName

git push origin dev 推送到遠端的dev分支。

git add README.md  
git commit -m "描述"
git checkout dev 
git pull origin dev  更新本地的dev分支
git merge feature/dev 合并分支,并解決沖突沖突,再次送出
git tag -a tagName 打上tag
git push origin dev  tagName 推送到遠端分支           

進行分支開發的一個流程如上,當然還有别的操作流程,大家可以根據自己的操作習慣進行操作。符合gitflow 流程即可。

其他出現的分支操作與此基本一緻,需要注意的是有需要打tag的進行打上tag操作.

原文釋出時間為:2019-1-6

本文作者:琪琪

本文來自雲栖社群合作夥伴“

LuckQI

”,了解相關資訊可以關注“YoungRUIQ”微信公衆号