SourceTree安裝與使用方法
引用部落格: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命令列