一、簡介:
一個用于Windows和Mac的免費Git用戶端。
Sourcetree簡化了如何與Git存儲庫進行互動,這樣您就可以集中精力編寫代碼。通過Sourcetree的簡單Git GUI可視化和管理存儲庫。
官網下載下傳位址:Sourcetree | Free Git GUI for Mac and Windows
本文介紹的版本為sourcetree 2.5.5;
二、使用方法
1、安裝
下載下傳完成後,在安裝SourceTree的過程中,需要通過賬戶登入,但注冊或登入界面可能根本無法打開,導緻軟體無法正常安裝。
解決方法:
(1)、在目錄C:\Users\{youruser}\AppData\Local\Atlassian\SourceTree 下建立檔案accounts.json ,注意:{youruser}需要替換為登入系統使用者名。如我的電腦路徑為:
C:\Users\Administrator\AppData\Local\Atlassian\SourceTree。寫入如下内容:
[
{
"$id": "1",
"$type": "SourceTree.Api.Host.Identity.Model.IdentityAccount, SourceTree.Api.Host.Identity",
"Authenticate": true,
"HostInstance": {
"$id": "2",
"$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountInstance, SourceTree.Host.AtlassianAccount",
"Host": {
"$id": "3",
"$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountHost, SourceTree.Host.AtlassianAccount",
"Id": "atlassian account"
},
"BaseUrl": "https://id.atlassian.com/"
},
"Credentials": {
"$id": "4",
"$type": "SourceTree.Model.BasicAuthCredentials, SourceTree.Api.Account",
"Username": "[email protected]"
},
"IsDefault": false
}
]
(2)、重新啟動軟體,順利進入界面,如圖:

2、拉取代碼
sourcetree是免費的Git用戶端,如何利用它從gitlab上拉取下代碼呢?步驟如下:
(1)、下載下傳并安裝git;
(2)、運作git,生成秘鑰,
指令為:ssh-keygen -t rsa,如圖:
秘鑰生成的目錄在你系統盤使用者目錄下的\.ssh\id_rsa.pub
(3)、在自己的git伺服器上綁定自己git公鑰;
(綁定操作:Settings --> SSH Keys --> Add key(打開本地公鑰檔案粘貼裡面所有内容)),如圖:
(4)、利用sourcetree拉取代碼。
點選"工具-->選項-->一般",注意以下4個部分的設定,如圖:
點選确定按鈕之後,點選"檔案-->克隆/建立",打開克隆tab,如圖:
源路徑:為要拉取項目的git路徑;目标路徑:為自己要存放該項目的本地資源路徑;名字:為項目名字,一般會自動擷取填充。
點選克隆按鈕,項目開始拉取到本地。等待項目拉取完畢後,我們就可以開始自己的本地開發。
3、上傳代碼;
項目克隆完成之後,我們拉取的是master分支上的代碼,由于master分支是主分支,項目多人開發的情況下,很容易造成沖突。
是以我們一般會在gitlab遠端建立一個自己的分支,如命名為:dev。
(1)、建立自己的遠端開發分支并在sourcetree中切換到該分支;如圖:
輕按兩下origin--->dev,就可以切換到dev開發分支。
(2)、切換到檔案狀态,暫存需要送出的代碼,寫好描述,點選“拉取”選項(相當svn的update操作)更新代碼并點選送出;
(3)、點選“推送”選項,選擇正确的本地和遠端分支,确定推送(相當于svn的commit操作)。
(4)、等待項目管理者将dev分支代碼合并到master分支,完成從開發到上傳。
4、其他主要功能介紹
4.1、Git工作流詳細介紹
4.2、配置忽略檔案;
利用.gitignore過濾檔案,如編譯過程中的中間檔案,等等,這些檔案不需要被追蹤管理。 正常情況下,管理者建立項目後需要直接将忽略檔案建立好。
使用sourcetree添加忽略檔案的方法,如圖:
忽略檔案中有 忽略檔案夾和單個檔案,如圖:
4.3、分支管理和使用
點選“分支”選項,切換到“新分支”選項。
1、可以在目前的版本下建立分支
2、選擇指定的送出建立分支
3、點選“建立分支”
如圖:
分支送出到伺服器。
定位到需要送出的分支上,點選“推送”選項,選擇正确的分支,确定後完成推送。如圖:
4.4、解決沖突
多人開發時,由于修改了同一個檔案,可能會有檔案沖突的情況。
拉取代碼時,會有沖突提示,解決完相關的沖突檔案,重新送出即可。
5、相關提示資訊含義及小竅門
5.1、沖突資訊 ,如圖:
5.2、先更新資訊
5.3、小竅門: 先拉取後推送。
如果推送時,拉取右上方顯示數字,則需要先拉取再推送。
6、SourceTree&Git部分名詞解釋
- 克隆(clone):從遠端倉庫URL加載建立一個與遠端倉庫一樣的本地倉庫
- 送出(commit):将暫存檔案上傳到本地倉庫(我們在Finder中對本地倉庫做修改後一般都得先送出一次,再推送)
- 檢出(checkout):切換不同分支
- 添加(add):添加檔案到緩存區
- 移除(remove):移除檔案至緩存區
- 暫存(git stash):儲存工作現場
- 重置(reset):回到最近添加(add)/送出(commit)狀态
- 合并(merge):将多個同名檔案合并為一個檔案,該檔案包含多個同名檔案的所有内容,相同内容抵消
- 抓取(fetch):從遠端倉庫擷取資訊并同步至本地倉庫
- 拉取(pull):從遠端倉庫擷取資訊并同步至本地倉庫,并且自動執行合并(merge)操作,即 pull=fetch+merge
- 推送(push):将本地倉庫同步至遠端倉庫,一般推送(push)前先拉取(pull)一次,確定一緻
- 分支(branch):建立/修改/删除分枝
- 标簽(tag):給項目增添标簽
- 工作流(Git Flow):團隊工作時,每個人建立屬于自己的分枝(branch),确定無誤後送出到master分枝
- 終端(terminal):可以輸入git指令行