1. 程式人生 > >【Git】Git客戶端SourceTree的使用

【Git】Git客戶端SourceTree的使用

git的客戶端,SourceTree當然不是唯一的選擇,有很多公司還用TortoiseGit。這篇部落格就簡單介紹一下SourceTree的使用,後續有機會再介紹TortoiseGit。首先是SourceTree的安裝,這裡就不多說了,去官網下載,安裝到本地就可以了,這裡重點說如何使用。首先從頁面來說介紹幾個常用的功能及區域,後面我們舉幾個具體的使用場景來說明。


1.提交:

     提交程式碼時,首先選中你需要提交的程式碼所在的分支(雙擊使其字型變黑才算選中),然後提交程式碼。

     注意:這裡的提交程式碼,只是把你本地的變更提交到你的本地分支,也就是說你的程式碼仍然在本地,還沒有提交到遠端伺服器。想要提交到遠端伺服器,是要推送的,詳情見下一步。

2.更新、上傳程式碼:

     a.拉取:拉取的意思就是更新程式碼,但針對的是某一分支,並不是所有的分支

     b.推送:1中提交程式碼成功後,只是把程式碼提交到本地分支,點選推送才能上傳到遠端伺服器。但僅僅上傳到遠端分支還不可以,還要合併到主分支master,詳情參考下一步。

     注意:這裡上傳成功後別人就可以在這個分支拿到你的程式碼,比如幾個人一個人開發一個task,你們可以先傳到這裡,共享你的程式碼,完成這個task之後再合併到master主分支。

3.合併程式碼:

     merge程式碼,這裡注意:當你merge程式碼的時候可能和別人的有衝突,在merge的時候會提示,修改一下就可以了。到這裡成功後你的程式碼才算是真正上傳完成。

4.工作副本:

     點選進入工作副本,這裡會顯示你本地更改的所有檔案,它會自動與遠端伺服器的程式碼相比較。

5.分支branch

     這是你原生代碼的分支,分支可以自己新建,也可以從遠端拉取。如果遠端伺服器裡面有已經建立好的分支,直接雙擊分支名稱就可以從遠端直接拉取。上面的截圖中本地有兩個分支,其中顏色稍深的分支為你當前所在的分支。

     注意:必須有一個主分支,每個分支task完成後都需要合併到主分支上去,就是所謂的merge程式碼。本地的分支可以直接刪除,和遠端沒有什麼關係。

6.遠端伺服器branch

     這裡是遠端的程式碼。

7.上傳記錄顯示

     這裡都是上傳記錄,包括上傳時寫的註釋都有顯示,關鍵是第一列的分支線,可以看到各個上傳記錄之間的聯絡。

8.變更檔案暫存處

9.所有本地變更的檔案

10.9中選中檔案的具體變更內容

下面從幾個場景來具體說說SourceTree的使用。

一、從git伺服器上獲取專案

1.從伺服器上獲取專案


2.拉取專案成功後的專案目錄


3.拉取的本地庫的資料夾


這是拉取到本地的git專案的目錄,每個git專案下都有一個.git資料夾,用來儲存git的所有資訊。

二、現在我修改一下檔案,然後提交我的修改

1.首先建立一個本地分支


我們檢出到本地的專案可以看到,這裡只有一個master分支。在開發專案前先建立一個dev分支。

之所以建立dev分支是為了對釋出版本進行管理,方便後期修復bug,如果只有一個master分支,當釋出了1.0版本並投入使用,這時候又開始開發1.1版本的新功能,如果1.0又產生了bug怎麼辦?如果有dev分支就不害怕這個問題了,只需切換到master分支把bug修復,然後再合併,再切換回dev開發即可。即把開發版本和執行版本區分開,分兩條線執行互不干涉,這樣就不影響版本釋出和修復bug了。如果伺服器端沒有dev分支,那麼本地就需要建立一個dev分支


如果我們的遠端伺服器上有dev分支,那麼直接檢出就可以了。雙擊dev分支,即可直接檢出dev分支到本地


2.提交修改

提交修改時,先點選提交,寫上備註資訊進行提交,這一步只是將本地更改提交到你的本地分支,並沒有和遠端進行同步,還需要用推送功能將本地的修改同步到伺服器上去。

三、合併master分支,並給master分支上的釋出版本打標籤

要合併dev分支,首先要切換到master分支(雙擊切換到master分支,有小對話和字型變深表示切換到當前分支),然後點選工具欄上的合併按鈕。合併完成後,要為master分支新增一個標籤。點選工具欄上的標籤按鈕,在彈出的標籤介面中,新增標籤名稱,並選中推送標籤origin,新增標籤成功。

四、已經發布的版本bug修復

如果現在開發到1.1版本,手頭還有未提交的更改,這時候上司告訴你線上1.0版本出現了bug要立即修復,這時候你手頭的任務還一時半會兒完成不了,不能立即提交,怎麼辦呢?首先將未提交的更改貯藏一下,點選選單欄中的貯藏,把現場貯藏一下,這樣就得到了一個乾淨的工作區,然後去修復bug。等bug修復完成後再去恢復一下現場就可以了。

然後著手去建立一個新的分支,這是為了便於合併到dev分支。如果直接在master分支上直接修復,最後合併到dev分支,這樣就違背了git的設計原則。

很多事情還等著你具體實踐的時候再進一步研究,加深理解,這篇就介紹到這裡了。