Web Analytics
Back
Featured image of post Git Repository 管理 - 以 Azure Repo 為例

Git Repository 管理 - 以 Azure Repo 為例

團隊使用 Git Repos 不能不知道的事情

這是 Study4TW 社群 2023 年 5 月小聚分享的議程:Git Repository 管理 - 以 Azure Repo 為例 (您能點選連結下載投影片)。

 
 

前言

對於現代開發人員來說, Git 可以說是絕對必要的技能。若沒有版本管理,團隊要能好好地維護程式碼根本難上加難,更別說發展大型系統。但你知道嗎? 除了個人學習使用 Git 外,如何做好 Git Repository 管理非常重要,它攸關團隊協作能否順利與保護您的原始碼。本次將以 Azure Repos 管理功能為例,簡易說明如何做好 Git Repository Management。

 
 
 
 

設定 Git ignore

Git ignore 是一個很基本且重要的設定,它能定義那些檔案不要納入版本管理,當開發人員提交與推送原始碼時,這些忽略的檔案只會保留在本地端。過去在微軟擔任現場工程師/顧問期間,經常遇到開發者 Push 開發環境設定或編譯後檔案 至 Git Repo,導致同團隊其他開發成員無法編譯程式或需要設定重新設定開發環境的情況發生,進而讓整個開發團隊產能低落。另一方面,大多數的開發者其實無法準確知道那些檔案不需要推送至 Git Repos,還好目前多數 Git Repo 服務可以依據開發者的需求,自動產生出相對應的 .gitignore 檔案,讓團隊在專案開發初期不需要經常調整 ignore 清單,如下圖的 GitHub 與 Azure Repos:

 
 
 
 

不要將非文字大型檔案放入 Git

另外一個重點在於,其實不應該把非文字(尤其是大型 Binary 檔案)推送至 Repo。版本管理的優勢是可以比對前後差異,但無法比對 Binary 內容,此外,Binary 檔案相較於文字檔案,容量相當大,在開發人員在第一拉取程式碼或切換分支時,需要較多的等待時間。

 
 
 
 

Repository Management

對於一個新手團隊,多數開發人員普遍認為 Git 只要可以做到 Commit, Push, Pull, Create Branch, Checkout 就已經足夠,儲存庫管理並不是這麼重要,但就管理與維運的角度來看,儲存庫管理可以增加團隊協作效率並保護原始碼安全,常見的設定包含:開源專案驗證作者信箱、工作項目與 Commit 綁定、避免移除主要分支與重要分支合併前需要 Pull Request…等

Branch Policy and Management

看完了儲存庫管理,我們往另一個細節檢視:分支規範與管理。比較基本的內容為設定預設分支與禁止 force push。這兩個設定情境皆是避免錯誤操作而導致難以收拾的後果:刪除重要分支的情況發生

Lock Branch

另一個在在集中式版本管理比較常見功能,但在 Git 比較少見的功能是 Lock branch (分支鎖定)。他能在錯誤修正前,防止其他人修改此分支,造成更多衝突。另外像是儲存庫搬移的情境也適用,並免開發者忘記修改開發環境的 Git Remote,將修改的程式推送至舊的儲存庫。

Built with Hugo   Theme Stack designed by Jimmy