一、簡介:
一個(gè)用于Windows和Mac的免費(fèi)Git客戶端。
Sourcetree簡化了如何與Git存儲庫進(jìn)行交互,這樣您就可以集中精力編寫代碼。通過Sourcetree的簡單Git GUI可視化和管理存儲庫。
官網(wǎng)下載地址:Sourcetree | Free Git GUI for Mac and Windows
本文介紹的版本為sourcetree 2.5.5;
二、使用方法[3.4.1不需要以下步驟]
- 安裝
下載完成后,在安裝SourceTree的過程中,需要通過賬戶登錄,但注冊或登錄界面可能根本無法打開,導(dǎo)致軟件無法正常安裝。
解決方法:
(1)、 在目錄C:\Users\{youruser}\AppData\Local\Atlassian\SourceTree下創(chuàng)建文件accounts.json ,注意:{youruser}需要替換為登錄系統(tǒng)用戶名。如我的電腦路徑為:
C:\Users\Administrator\AppData\Local\Atlassian\SourceTree。寫入如下內(nèi)容:
[
{
"$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": "username@email.com"
},
"IsDefault": false
}
]
(2)、編輯文件C:\Users\當(dāng)前用戶文件夾\AppData\Local\Atlassian\SourceTree.exe_Url_2pp5ph5o52ezn1jhauso0c3bpdeplqgk\3.1.3.3158\user.config,configuration userSettings SourceTree.Properties.Settings 之下添加以下 6 行內(nèi)容:
<setting name="AgreedToEULA" serializeAs="String">
<value>True</value>
</setting>
<setting name="AgreedToEULAVersion" serializeAs="String">
<value>20160201</value>
</setting>
(3)、重新啟動(dòng)軟件,順利進(jìn)入界面,如圖:

- 拉取代碼
sourcetree是免費(fèi)的Git客戶端,如何利用它從gitlab上拉取下代碼呢?步驟如下:
(1)、下載并安裝git;
(2)、運(yùn)行g(shù)it,生成秘鑰,
命令為:ssh-keygen -t rsa,如圖:
秘鑰生成的目錄在你系統(tǒng)盤用戶目錄下的.ssh\id_rsa.pub


(3)、在自己的git服務(wù)器上綁定自己git公鑰;
(綁定操作:Settings --> SSH Keys --> Add key(打開本地公鑰文件粘貼里面所有內(nèi)容),如圖:

(4)、利用sourcetree拉取代碼。
點(diǎn)擊"工具-->選項(xiàng)-->一般",注意以下4個(gè)部分的設(shè)置,如圖:

點(diǎn)擊確定按鈕之后,點(diǎn)擊"文件-->克隆/新建",打開克隆tab,如圖:

源路徑:為要拉取項(xiàng)目的git路徑;目標(biāo)路徑:為自己要存放該項(xiàng)目的本地資源路徑;名字:為項(xiàng)目名字,一般會自動(dòng)獲取填充。
點(diǎn)擊克隆按鈕,項(xiàng)目開始拉取到本地。等待項(xiàng)目拉取完畢后,我們就可以開始自己的本地開發(fā)。
- 上傳代碼;
項(xiàng)目克隆完成之后,我們拉取的是master分支上的代碼,由于master分支是主分支,項(xiàng)目多人開發(fā)的情況下,很容易造成沖突。
所以我們一般會在gitlab遠(yuǎn)程新建一個(gè)自己的分支,如命名為:dev。
(1)、新建自己的遠(yuǎn)程開發(fā)分支并在sourcetree中切換到該分支;如圖:

雙擊origin--->dev,就可以切換到dev開發(fā)分支。
(2)、切換到文件狀態(tài),暫存需要提交的代碼,寫好描述,點(diǎn)擊“拉取”選項(xiàng)(相當(dāng)svn的update操作)更新代碼并點(diǎn)擊提交;
(3)、點(diǎn)擊“推送”選項(xiàng),選擇正確的本地和遠(yuǎn)程分支,確定推送(相當(dāng)于svn的commit操作)。
(4)、等待項(xiàng)目管理員將dev分支代碼合并到master分支,完成從開發(fā)到上傳。
- 其他主要功能介紹
4.1、Git工作流詳細(xì)介紹
4.2、配置忽略文件;
利用.gitignore過濾文件,如編譯過程中的中間文件,等等,這些文件不需要被追蹤管理。 正常情況下,管理員創(chuàng)建項(xiàng)目后需要直接將忽略文件創(chuàng)建好。
使用sourcetree添加忽略文件的方法,如圖:

忽略文件中有 忽略文件夾和單個(gè)文件,如圖:

4.3、分支管理和使用
點(diǎn)擊“分支”選項(xiàng),切換到“新分支”選項(xiàng)。
1、可以在當(dāng)前的版本下創(chuàng)建分支
2、選擇指定的提交創(chuàng)建分支
3、點(diǎn)擊“創(chuàng)建分支”
如圖:

分支提交到服務(wù)器。
定位到需要提交的分支上,點(diǎn)擊“推送”選項(xiàng),選擇正確的分支,確定后完成推送。如圖:

4.4、解決沖突
多人開發(fā)時(shí),由于修改了同一個(gè)文件,可能會有文件沖突的情況。
拉取代碼時(shí),會有沖突提示,解決完相關(guān)的沖突文件,重新提交即可。
- 相關(guān)提示信息含義及小竅門
5.1、沖突信息 ,如圖:

5.2、先更新信息

5.3、小竅門: 先拉取后推送。

如果推送時(shí),拉取右上方顯示數(shù)字,則需要先拉取再推送。
- SourceTree&Git部分名詞解釋
- 克隆(clone):從遠(yuǎn)程倉庫URL加載創(chuàng)建一個(gè)與遠(yuǎn)程倉庫一樣的本地倉庫
- 提交(commit):將暫存文件上傳到本地倉庫(我們在Finder中對本地倉庫做修改后一般都得先提交一次,再推送)
- 檢出(checkout):切換不同分支
- 添加(add):添加文件到緩存區(qū)
- 移除(remove):移除文件至緩存區(qū)
- 暫存(git stash):保存工作現(xiàn)場
- 重置(reset):回到最近添加(add)/提交(commit)狀態(tài)
- 合并(merge):將多個(gè)同名文件合并為一個(gè)文件,該文件包含多個(gè)同名文件的所有內(nèi)容,相同內(nèi)容抵消
- 抓取(fetch):從遠(yuǎn)程倉庫獲取信息并同步至本地倉庫
- 拉取(pull):從遠(yuǎn)程倉庫獲取信息并同步至本地倉庫,并且自動(dòng)執(zhí)行合并(merge)操作,即 pull=fetch+merge
- 推送(push):將本地倉庫同步至遠(yuǎn)程倉庫,一般推送(push)前先拉取(pull)一次,確保一致
- 分支(branch):創(chuàng)建/修改/刪除分枝
- 標(biāo)簽(tag):給項(xiàng)目增添標(biāo)簽
- 工作流(Git Flow):團(tuán)隊(duì)工作時(shí),每個(gè)人創(chuàng)建屬于自己的分枝(branch),確定無誤后提交到master分枝
- 終端(terminal):可以輸入git命令行