當在團隊開發中使用版本控制系統時,商定一個統一的工作流程是至關重要的。Git 的确可以在各個方面做很多事情,然而,如果在你的團隊中還沒有能形成一個特定有效的工作流程,那麼混亂就将是不可避免的。
目的
為了幫助我們解決這個混亂流程,我們将在内部執行一套流程,幫助我們管理整個流程。
gitflow操作流程
gitflow簡介
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLxYDO2EWMxIWM4YmMyE2NkRmZzMmMwYzY1gDNmlTNxEDMmZTZ3ITMj9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
我們主要區分為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”微信公衆号