1. 程式人生 > >引用部落格:http://blog.csdn.net/u012230055/article/details/64125268

引用部落格:http://blog.csdn.net/u012230055/article/details/64125268

一 、SourceTree簡介

SourceTree 是 Windows 和Mac OS X 下免費的 Git 和 Hg 客戶端,擁有視覺化介面,容易上手操作。同時它也是Mercurial和Subversion版本控制系統工具。支援建立、提交、clone、push、pull 和merge等操作。

二、下載安裝SourceTree步驟

1、下載地址:https://www.sourcetreeapp.com/,該版本是中文的 
下載完成後可以進行安裝。 
2、安裝SourceTree 
安裝首介面 
這裡寫圖片描述

點選,Next 
這裡寫圖片描述

點選“install”,安裝完成後,開啟sourcetree,點選“user an existing account”,如圖 
這裡寫圖片描述

注意:1使用谷歌帳號登入即可,前提是你必須可以上谷歌才可以。 
GOOGLE帳號登入完成之後,如圖: 
這裡寫圖片描述

此處無需設定,直接點選“跳過初始設定”即可。 
登入註冊成功後,彈出設定puttykey的介面,點選“取消”即可。 
這裡寫圖片描述

點選“取消”按鈕,彈出如下提示框: 
這裡寫圖片描述

此時進入到sourcetree的主介面,現在就可以使用sourcetree啦。

三、整合檔案對比外掛

安裝對比外掛

Sourcetree中整合Beyond Compare 4,當檔案衝突時可以很好的解決衝突。安裝過程很簡單,這裡不再詳述。

Sourcetree中配置Beyond Compare 4

選單欄,“工具”——“選項”,如圖所示: 
這裡寫圖片描述

選擇“比較”選項卡,然後將紅色方框處的內容修改為如圖所示: 
這裡寫圖片描述

四、SourceTree基本使用

(1)克隆

點選克隆按鈕,克隆專案: 
既可以是本地已有的git專案,也可以是遠端目錄中的專案, 
這裡寫圖片描述

本地存在的git專案, 
獲取專案克隆地址,點選克隆按鈕,如圖所示: 
這裡寫圖片描述

1、克隆專案的路徑 
2、克隆專案存放的位置 
3、如果要下載特定的分支,可以按分支進行下載

(2)配置忽略檔案

利用.gitignore過濾檔案,如編譯過程中的中間檔案,等等,這些檔案不需要被追蹤管理。 
.gitignore檔案只對還沒有加入版本管理的檔案起作用,如果之前已經用git把這些檔案納入了版本庫,就不起作用了 
使用sourcetree新增忽略檔案的方法: 
正常情況下,管理員建立專案後需要直接將忽略檔案建立好。建立方法如圖: 
這裡寫圖片描述

按照如上步驟操作即可編輯衝突檔案。 
衝突檔案規則: 
忽略資料夾(如:bin、obj): 
obj/ 
bin/ 
某目錄下的所有.txt檔案, 
obj/*.txt 
開發的過程中可能遇到一些忽略檔案中未新增的檔案,此時需要開發者自行新增忽略檔案,新增方法如下: 
之前已經介紹過未進行版本控制的或者受版本控制的檔案,在sourcetree的“檔案狀態” 標籤中查詢,如圖所示: 
這裡寫圖片描述

滑鼠右鍵要忽略的檔案,點選“忽略”,選擇忽略的模式,即可將檔案進行忽略,如圖所示: 
這裡寫圖片描述

(3)tag使用方法

打tag的目的是在程式碼的主要節點處有個標記,方便下次修改程式碼時可以準確的找到想要找的程式碼。而無需看著日誌檔案逐一回憶要找的程式碼位置。 
這裡寫圖片描述

(4)分支管理與使用

使用sourcetree建立和使用分支是很方便的,不像之前使用的TortoiseGit只能在當前程式碼處建立分支,使用sourcetree的方便之處: 
1、可以選擇特定的某版本建立分支 
2、程式碼檢出時可以按照分支進行檢出 
3、分支的新增很簡單 
分支新增: 
這裡寫圖片描述

1、可以在當前的版本下建立分支 
2、選擇指定的提交建立分支 
3、點選“建立分支” 
分支提交到伺服器: 
在sourcetree右側內容中的分支列表中,選中建立的分支,右鍵提交,如圖所示: 
這裡寫圖片描述

分支合併: 
1、分支合併功能和分支新增功能類似,這裡不再詳述,需要注意的是首先要切換到被合併的分支上,再進行合併操作。 
2、分支合併時,可以選擇具體的某提交進行合併,同時主分支可以合併到子分支;子分支可以合併到主分支;子分支之間也可以進行合併。

(5)GIT與SVN同步

git svn工具集在當前不得不使用 Subversion 伺服器或者開發環境要求使用 Subversion 伺服器的時候格外有用。不妨把它看成一個跛腳的 Git,在實際使用中不推薦這樣使用GIT。

(6)基本步驟

提交、拉取和推送 
提交: 
專案提交是為了維護本地版本庫,如果本地有未提交的內容,則不允許拉取和推送;如圖所示區域有內容時,則代表本地未提交的內容: 
這裡寫圖片描述

點選Stage All,填寫提交資訊既可以將本地內容(暫存區)提交到本地版本庫,如圖所示: 
這裡寫圖片描述

1、將未暫存的檔案進行暫存,如果有些檔案不需要暫存,則可以進行刪除,選中檔案,右鍵“移除”即可。 
拉取:從遠端將程式碼進行更新,相當於SVN的“更新” 
推送:將程式碼提交到遠端。

(7)解決衝突

簡單介紹 
這裡寫圖片描述

1、衝突檔案的符號為“感嘆號” 
2、選中“衝突檔案”,右鍵——點選”解決衝突“——點選”開啟外部合併工具“(備註:才操作時已經安裝外部合併工具,同時在sourcetree中已經進行配置,詳見”整合檔案對比外掛“)

衝突介面

衝突解決介面如下:可以根據需要選擇內容顯示型別,只”顯示更改“,”顯示衝突“或者”全部“ 
這裡寫圖片描述

解決衝突

方法一:在相關的版本處,選中”衝突行”,合併區預設處於合併位置,滑鼠右鍵,選擇最終衝突地方留下的內容,如圖: 
這裡寫圖片描述

解決衝突之後效果圖: 
這裡寫圖片描述

1、衝突圖示由”感嘆號”——“省略號”。 
2、右側顯示修改後的程式碼進行檢視。 
3、同時修改的衝突檔案有相應的備份,大家可以下載到本地,方便衝突有問題再次修改檔案。 
備註:該檔案下載之後請將版本庫中的該檔案刪除,不要上傳到版本庫中。 
4、修改完衝突之後,需要再次提交,推送。大家養成提交時,提交有效的日誌資訊,不要將比如:123之類的資訊推送到伺服器中。 
方法二:如果衝突非常少,可以直接在右側欄中解決衝突,如圖所示: 
這裡寫圖片描述

1、點選未暫存區域的衝突檔案。 
2、右側列表中出現衝突的內容。 
3、選擇衝突內容,解決衝突,如圖所示: 
這裡寫圖片描述

暫存行:表示保留該內容 
丟棄行:表示刪除該內容 
備註:區分於第一種方式,使用第一種方法解決時,不要點選”未暫存檔案”,否則可能無法開啟衝突檔案

(8)版本回退

原則上,程式碼推送之前要保證本地的程式碼可執行,不要將不可執行或者有問題的程式碼推送到伺服器上,如果由於誤操作,將程式碼推送到了遠端,想重新修改上傳程式碼,此時,需要將版本進行回退,回退方法如圖: 
這裡寫圖片描述

1、切換到日誌/歷史標籤 
2、選擇要恢復到的版本,如圖藍色位置 
3、滑鼠右鍵,選擇“重置當前分支到此次提交” 
4、選擇”重置模式”,如圖所示 
這裡寫圖片描述

5、彈出框中選擇”Yes” 
這裡寫圖片描述

(9)相關提示資訊含義

衝突資訊 
這裡寫圖片描述

先更新資訊 
這裡寫圖片描述 
小竅門: 
這裡寫圖片描述 
如果推送時,拉取右上方顯示數字,則需要先拉取再推送。

五、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命令列