一、簡介:
一個用於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": "username@email.com" }, "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命令行