一、簡介:
一個用于Windows和Mac的免費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)俩垃、重新啟動軟件励幼,順利進(jìn)入界面,如圖:
- 拉取代碼
sourcetree是免費的Git客戶端口柳,如何利用它從gitlab上拉取下代碼呢苹粟?步驟如下:
(1)、下載并安裝git;
(2)、運行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拉取代碼荣茫。
點擊"工具-->選項-->一般"想帅,注意以下4個部分的設(shè)置,如圖:
點擊確定按鈕之后啡莉,點擊"文件-->克隆/新建"港准,打開克隆tab,如圖:
源路徑:為要拉取項目的git路徑;目標(biāo)路徑:為自己要存放該項目的本地資源路徑咧欣;名字:為項目名字浅缸,一般會自動獲取填充。
點擊克隆按鈕魄咕,項目開始拉取到本地衩椒。等待項目拉取完畢后,我們就可以開始自己的本地開發(fā)哮兰。
- 上傳代碼毛萌;
項目克隆完成之后,我們拉取的是master分支上的代碼喝滞,由于master分支是主分支阁将,項目多人開發(fā)的情況下,很容易造成沖突右遭。
所以我們一般會在gitlab遠(yuǎn)程新建一個自己的分支,如命名為:dev做盅。
(1)、新建自己的遠(yuǎn)程開發(fā)分支并在sourcetree中切換到該分支窘哈;如圖:
雙擊origin--->dev,就可以切換到dev開發(fā)分支吹榴。
(2)、切換到文件狀態(tài)滚婉,暫存需要提交的代碼图筹,寫好描述,點擊“拉取”選項(相當(dāng)svn的update操作)更新代碼并點擊提交满哪;
(3)婿斥、點擊“推送”選項,選擇正確的本地和遠(yuǎn)程分支哨鸭,確定推送(相當(dāng)于svn的commit操作)民宿。
(4)、等待項目管理員將dev分支代碼合并到master分支像鸡,完成從開發(fā)到上傳活鹰。
- 其他主要功能介紹
4.1、Git工作流詳細(xì)介紹
4.2只估、配置忽略文件志群;
利用.gitignore過濾文件,如編譯過程中的中間文件蛔钙,等等锌云,這些文件不需要被追蹤管理。 正常情況下吁脱,管理員創(chuàng)建項目后需要直接將忽略文件創(chuàng)建好桑涎。
使用sourcetree添加忽略文件的方法,如圖:
忽略文件中有 忽略文件夾和單個文件兼贡,如圖:
4.3攻冷、分支管理和使用
點擊“分支”選項,切換到“新分支”選項遍希。
1等曼、可以在當(dāng)前的版本下創(chuàng)建分支
2、選擇指定的提交創(chuàng)建分支
3凿蒜、點擊“創(chuàng)建分支”
如圖:
分支提交到服務(wù)器禁谦。
定位到需要提交的分支上,點擊“推送”選項废封,選擇正確的分支枷畏,確定后完成推送。如圖:
4.4虱饿、解決沖突
多人開發(fā)時拥诡,由于修改了同一個文件,可能會有文件沖突的情況氮发。
拉取代碼時渴肉,會有沖突提示,解決完相關(guān)的沖突文件爽冕,重新提交即可仇祭。
- 相關(guān)提示信息含義及小竅門
5.1、沖突信息 颈畸,如圖:
5.2乌奇、先更新信息
5.3没讲、小竅門: 先拉取后推送。
如果推送時礁苗,拉取右上方顯示數(shù)字爬凑,則需要先拉取再推送。
- SourceTree&Git部分名詞解釋
- 克隆(clone):從遠(yuǎn)程倉庫URL加載創(chuàng)建一個與遠(yuǎn)程倉庫一樣的本地倉庫
- 提交(commit):將暫存文件上傳到本地倉庫(我們在Finder中對本地倉庫做修改后一般都得先提交一次试伙,再推送)
- 檢出(checkout):切換不同分支
- 添加(add):添加文件到緩存區(qū)
- 移除(remove):移除文件至緩存區(qū)
- 暫存(git stash):保存工作現(xiàn)場
- 重置(reset):回到最近添加(add)/提交(commit)狀態(tài)
- 合并(merge):將多個同名文件合并為一個文件嘁信,該文件包含多個同名文件的所有內(nèi)容,相同內(nèi)容抵消
- 抓取(fetch):從遠(yuǎn)程倉庫獲取信息并同步至本地倉庫
- 拉取(pull):從遠(yuǎn)程倉庫獲取信息并同步至本地倉庫疏叨,并且自動執(zhí)行合并(merge)操作潘靖,即 pull=fetch+merge
- 推送(push):將本地倉庫同步至遠(yuǎn)程倉庫,一般推送(push)前先拉仍槁(pull)一次卦溢,確保一致
- 分支(branch):創(chuàng)建/修改/刪除分枝
- 標(biāo)簽(tag):給項目增添標(biāo)簽
- 工作流(Git Flow):團隊工作時,每個人創(chuàng)建屬于自己的分枝(branch)秀又,確定無誤后提交到master分枝
- 終端(terminal):可以輸入git命令行