2021年6月10日 星期四

Git 與 SourceTree 的超入門步驟

先前公司同仁還沒使用版本控制軟體去管理專案,

但我認為這應該是最基本的開發條件,

因此我做了一系列簡單的指引,

讓同仁可以先初步上手並使用,

起頭總是最困難的。

我是看 高見龍的書  為你自己學Git ,

由於剛開始使用,因此團隊間也還沒開始正式的使用Git進行軟體版本控管,

因此目前我都是自己控管自己開發的版本,

使用的技巧也就不多,單純當作存檔與紀錄使用,

不過近期開始推行的效果似乎出現了,

跟我配合的同事開始跟我一起使用Git,

一起使用遇到的問題就比較複雜,但不再這篇討論的範圍裡。

這篇主要是想讓完全沒接觸過的人,開始有使用Git的能力。

[如果有說明錯誤的地方,再麻煩指正]


第一步:安裝 Git

由於Git沒有使用者介面,主要是透過cmd視窗下指令,

因此可以下載第三方的GUI來取代cmd的操作,會直覺很多。

 GUI下載網址

推薦下載 SourceTree,介面滿清楚,以下都以SourceTree作為操作介紹。


第二步:如何讓檔案被Git管理?

安裝完成後,利用Create建立Git與 _gitPratice 資料夾 (想被管理資料夾)的關係。

這個資料夾內有一個文字檔 gitPratice.txt



































被控管的資料夾中出現 .git資料夾(隱藏的) 就代表Git已經開始控管這個資料夾的一舉一動。

很簡單吧? 接下來開始進行第一個版本的紀錄。

第三步:送出(commit)第一個版本






























送出commit之後,由左側選取History頁簽。











到這邊,你可以看到你的第一次commit紀錄了,

那多送幾次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另一篇介紹文章 



沒有留言:

張貼留言

社會新鮮人如何投資?

我的觀點是,在 沒有很多 本錢 的情況下, 別寄望每個月幾千元放到股票或者最近很夯的高股息ETF就能讓你致富, 先投資自己,讓自己的本業收入提高吧。