先前公司同仁還沒使用版本控制軟體去管理專案,
但我認為這應該是最基本的開發條件,
因此我做了一系列簡單的指引,
讓同仁可以先初步上手並使用,
起頭總是最困難的。
我是看 高見龍的書 為你自己學Git ,
由於剛開始使用,因此團隊間也還沒開始正式的使用Git進行軟體版本控管,
因此目前我都是自己控管自己開發的版本,
使用的技巧也就不多,單純當作存檔與紀錄使用,
不過近期開始推行的效果似乎出現了,
跟我配合的同事開始跟我一起使用Git,
一起使用遇到的問題就比較複雜,但不再這篇討論的範圍裡。
這篇主要是想讓完全沒接觸過的人,開始有使用Git的能力。
[如果有說明錯誤的地方,再麻煩指正]
第一步:安裝 Git
由於Git沒有使用者介面,主要是透過cmd視窗下指令,
因此可以下載第三方的GUI來取代cmd的操作,會直覺很多。
推薦下載 SourceTree,介面滿清楚,以下都以SourceTree作為操作介紹。
第二步:如何讓檔案被Git管理?
安裝完成後,利用Create建立Git與 _gitPratice 資料夾 (想被管理資料夾)的關係。
這個資料夾內有一個文字檔 gitPratice.txt
被控管的資料夾中出現 .git資料夾(隱藏的) 就代表Git已經開始控管這個資料夾的一舉一動。
很簡單吧? 接下來開始進行第一個版本的紀錄。
第三步:送出(commit)第一個版本
送出commit之後,由左側選取History頁簽。
到這邊,你可以看到你的第一次commit紀錄了,
那多送幾次commit會發生什麼事情呢?
再跟著繼續操作下去吧。
第四步:紀錄多次版本
新增資料,並送出第二次commit。
操作到這邊,我們已經能夠建立多次版本了,
對於一開始完全沒使用過版控,僅使用資料夾加日期來做版控的人來說,
已經是邁出一大步,
其實還有很多人不使用呢,所以我才想做個簡易版本推動周遭的人使用。
單純的原因可能是因為還要多學一項工具,覺得麻煩吧?
又或者是公司團隊制度使然,大多數軟體都是一人專案...
離題了,既然有了多次版控,那麼就要學會怎麼切換版本吧?
第五步:切換版本
切換版本有很多種方式,
先來介紹最簡單的方法,叫做Checkout。
在SourceTree中非常容易操作,
首先回到History頁簽,並在右側多個版本中選擇你想切換的版本,
直接點擊左鍵兩下,就切換過去了。
夠簡單吧?
但如果你已經做了一點變動,
但突然想切換版本時卻發現失敗了(例如主管叫你去解決某個版本的Bug),
SourceTree會告訴你是因為你已經有一些變動,必須commit出去才能進行切換(Checkout),
但你不想多送一次commit怎辦呢?
你可以透過Stash進行當下版本的儲存,然後切換去你要的版本,
等到你解決完該版本的問題之後,想回來繼續剛剛的變動,只要到左邊頁簽找到Stash,
回到原先正在修改的版本,再把資料撈回來就可以了。
第六步:建立分支
Git除了可以隨時切換到各種版本,
另一個最吸引人的功能便是分支的使用了,
為什麼Git的分支會這麼好用,你可以搜尋一下GitFlow,或看這篇,
看完介紹你就知道為什麼分支對於一個專案的開發有什麼好處。
那麼就來建立第一個分支吧。
分支可以讓一個專案多人協做,
也可以讓你在開發新功能的時候保持原有正常功能程式碼的完整,
並且在新功能開發完成後進行合併(Merge),
不過這篇文章就先帶到這邊,主要目的只是想引進門而已,
操作其實不難,上述的操作已經可以有一個完整的版控功能。
其實操作Git時,同一種目的可以有很多種方式,
在這邊都只以最簡單的動作來進行,深入的操作等遇到問題在來找答案吧,
先讓周遭同事覺得簡單好用且願意用比較重要,
第一個工具推動完了,下一步想推動
軟體風格的統一
CodeReview
軟體重構
單元測試的使用
專案指派給團隊而不是圍繞著專案來組建團隊
補充: merge 與 rebase 很清楚的介紹文章 rebase與merge比較與使用
補充:如果只想要特定的版本的功能進行合併 Cherry Pick另一篇介紹文章
,
沒有留言:
張貼留言