本文由雲+社群發表
作者:唐維黎
導語
基於gui工具TortoiseGit讓你快速進入git開發模式。
目前專案已逐步從svn移步到git開發模式,其中也針對git統一協議了適合git的開發規範, 最重要一點就是分支模型的,為了規範開發,不直接在主幹上修改程式碼,一切程式碼都提交至分支dev,然後再由分支合併到主幹master。 首先保證每個倉庫下有以下兩個常駐分支(永遠不刪除的分支): **master:**主幹分支,始終保持跟外網伺服器一致,只用於外網釋出,這樣就可以保證檔案不會帶出去的風險; **dev:**基於master建立,用於開發新功能和新需求的分支。
開發流程如下:
\1. 基於dev分支建立dev-xxx分支,開始進行普通的常規需求開發,開發完成後,Commit提交程式碼到本地倉庫,如果這個新專案或者功能比較大有多人協同開發,怕會相互影響對方的程式碼,現從dev-xxx分支建立新分支dev-xxx-user進行開發,前提是dev-xxx分支需要push到線上;
\2. 開發完成後將dev-xxx分支合併到dev分支,然後部署dev到測試環境進行測試,測試過程中有bug的話修復完後同樣合併到dev分支。如果是在多人協同開發的情況下先將dev-xxx-user分支合併到dev-xxx,再將dev-xxx合併到dev分支;
\3. 測試完成後,將dev分支合併到master分支,然後進行正式釋出。釋出完成後刪除dev-xxx和dev-xxx-user分支; 如果擔心在最後一步合併程式碼到master時有問題,也可以在測試的時候隨時更新到本地master(先checkout master分支到本地),但不要push到線上,本地master 如果一定push到線上的話,這就要保證你的需求未測試釋出前,別人不會發master與你相關的檔案~
另外,如果是外網BUG或者日常,就可以在master上直接建立分支,修復完成後釋出,定時同步dev分支,這樣可以提高效率 ~ 下面以一個簡單的需求來實際操作下,看看TortoiseGit的使用方法: (前提本地是有安裝git和TortoiseGit)
1. 克隆程式碼倉庫到本地
在指定資料夾下,右鍵 -> Git Clone..
點確定後會提示你輸入使用者名稱和密碼,這個跟svn類似 然後等待一會程式碼就成功克隆到本地了,速度比svn要快很多,另外也可以直接用命令列的方式
git clone XXXXX.git
複製程式碼
程式碼克隆後,後續分支都是在本地的同一份程式碼上進行分支建立,而無需再次克隆~
2. 建立本地分支
建立分支前請實時git pull線上倉庫到本地,保證本地dev是最新 進入剛克隆下來的目錄,右鍵 -> TortoiseGit -> Create Branch..
3. 檢視及切換當前分支
右鍵 -> TortoiseGit -> Switch/Checkout...
切換成功後,可通過Git bash檢視是否真的切換過來
也可以在命令列直接git branch檢視,高亮的為當前分支 重要:注意在開發的時候請保證當前自己所修改的程式碼是當前需求的分支
4. 開發完成後Commit
右鍵 Git Commit -> 'dev-xxx' 提交記錄一定要填 ,其它資訊可選
Commit到本地倉庫,Commit這裡也可以直接一次性push到線上倉庫,但一般情況下不會這麼幹, 在多人協作的時候,其他人要合併程式碼到dev-xxx分支時可以直接一鍵commit+push
5. 合併分支
首先切換到要合併的目標分支(切換分支見上述3),本次要將dev-xxx合併到dev分支,我們切換到dev分支, 右鍵 -> TortoiseGit -> Merge...
6. 提交到線上倉庫
右鍵 -> TortoiseGit -> Push...
會要求你輸入使用者名稱和密碼 提交成功後,提單部署測試環境
7. 合併到master主幹分支
測試通過並完成後,將dev分支合併到master並push到線上倉庫,提單釋出外網, 合併到master的時候,可以將線上的master分支checkout到本地,然後進行本地的dev和master合併,再push到線上, 也可以直接將本地dev直接合併到線上master(remotes/origin/master)分支,本地合併衝突比較好解決,也不會影響線上。
到此本次需求完成
此文已由騰訊雲+社群在各渠道釋出
獲取更多新鮮技術乾貨,可以關注我們騰訊雲技術社群-雲加社群官方號及知乎機構號