SourceTree 是 Windows 和Mac OS X 下免費的 Git 和 Hg 客戶端,擁有可視化界面,容易上手操做。同時它也是Mercurial和Subversion版本控制系統工具。支持建立、提交、clone、push、pull 和merge等操做。git
一、下載地址:https://www.sourcetreeapp.com/,該版本是中文的
下載完成後能夠進行安裝。
二、安裝SourceTree
安裝首界面 緩存
點擊,Next 服務器
點擊「install」,安裝完成後,打開sourcetree,點擊「user an existing account」,如圖 app
注意:1使用谷歌賬號登陸便可,前提是你必須能夠上谷歌才能夠。
GOOGLE賬號登陸完成以後,如圖: svn
此處無需設置,直接點擊「跳過初始設置」便可。
登陸註冊成功後,彈出設置puttykey的界面,點擊「取消」便可。 工具
點擊「取消」按鈕,彈出以下提示框: fetch
此時進入到sourcetree的主界面,如今就可使用sourcetree啦。插件
安裝對比插件命令行
Sourcetree中集成Beyond Compare 4,當文件衝突時能夠很好的解決衝突。安裝過程很簡單,這裏再也不詳述。3d
Sourcetree中配置Beyond Compare 4
菜單欄,「工具」——「選項」,如圖所示:
選擇「比較」選項卡,而後將紅色方框處的內容修改成如圖所示:
點擊克隆按鈕,克隆項目:
既能夠是本地已有的git項目,也能夠是遠程目錄中的項目,
本地存在的git項目,
獲取項目克隆地址,點擊克隆按鈕,如圖所示:
一、克隆項目的路徑
二、克隆項目存放的位置
三、若是要下載特定的分支,能夠按分支進行下載
利用.gitignore過濾文件,如編譯過程當中的中間文件,等等,這些文件不須要被追蹤管理。
.gitignore文件只對尚未加入版本管理的文件起做用,若是以前已經用git把這些文件歸入了版本庫,就不起做用了
使用sourcetree添加忽略文件的方法:
正常狀況下,管理員建立項目後須要直接將忽略文件建立好。建立方法如圖:
按照如上步驟操做便可編輯衝突文件。
衝突文件規則:
忽略文件夾(如:bin、obj):
obj/
bin/
某目錄下的全部.txt文件,
obj/*.txt
開發的過程當中可能遇到一些忽略文件中未添加的文件,此時須要開發者自行添加忽略文件,添加方法以下:
以前已經介紹過未進行版本控制的或者受版本控制的文件,在sourcetree的「文件狀態」 標籤中查找,如圖所示:
鼠標右鍵要忽略的文件,點擊「忽略」,選擇忽略的模式,便可將文件進行忽略,如圖所示:
打tag的目的是在代碼的主要節點處有個標記,方便下次修改代碼時能夠準確的找到想要找的代碼。而無需看着日誌文件逐一回憶要找的代碼位置。
使用sourcetree建立和使用分支是很方便的,不像以前使用的TortoiseGit只能在當前代碼處建立分支,使用sourcetree的方便之處:
一、能夠選擇特定的某版本建立分支
二、代碼檢出時能夠按照分支進行檢出
三、分支的添加很簡單
分支添加:
一、能夠在當前的版本下建立分支
二、選擇指定的提交建立分支
三、點擊「建立分支」
分支提交到服務器:
在sourcetree右側內容中的分支列表中,選中建立的分支,右鍵提交,如圖所示:
分支合併:
一、分支合併功能和分支添加功能相似,這裏再也不詳述,須要注意的是首先要切換到被合併的分支上,再進行合併操做。
二、分支合併時,能夠選擇具體的某提交進行合併,同時主分支能夠合併到子分支;子分支能夠合併到主分支;子分支之間也能夠進行合併。
git svn工具集在當前不得不使用 Subversion 服務器或者開發環境要求使用 Subversion 服務器的時候格外有用。不妨把它當作一個跛腳的 Git,在實際使用中不推薦這樣使用GIT。
提交、拉取和推送
提交:
項目提交是爲了維護本地版本庫,若是本地有未提交的內容,則不容許拉取和推送;如圖所示區域有內容時,則表明本地未提交的內容:
點擊Stage All,填寫提交信息既能夠將本地內容(暫存區)提交到本地版本庫,如圖所示:
一、將未暫存的文件進行暫存,若是有些文件不須要暫存,則能夠進行刪除,選中文件,右鍵「移除」便可。
拉取:從遠程將代碼進行更新,至關於SVN的「更新」
推送:將代碼提交到遠程。
簡單介紹
一、衝突文件的符號爲「感嘆號」
二、選中「衝突文件」,右鍵——點擊」解決衝突「——點擊」打開外部合併工具「(備註:才操做時已經安裝外部合併工具,同時在sourcetree中已經進行配置,詳見」集成文件對比插件「)
衝突界面
衝突解決界面以下:能夠根據須要選擇內容顯示類型,只」顯示更改「,」顯示衝突「或者」所有「
解決衝突
方法一:在相關的版本處,選中」衝突行」,合併區默認處於合併位置,鼠標右鍵,選擇最終衝突地方留下的內容,如圖:
解決衝突以後效果圖:
一、衝突圖標由」感嘆號」——「省略號」。
二、右側顯示修改後的代碼進行查看。
三、同時修改的衝突文件有相應的備份,你們能夠下載到本地,方便衝突有問題再次修改文件。
備註:該文件下載以後請將版本庫中的該文件刪除,不要上傳到版本庫中。
四、修改完衝突以後,須要再次提交,推送。你們養成提交時,提交有效的日誌信息,不要將好比:123之類的信息推送到服務器中。
方法二:若是衝突很是少,能夠直接在右側欄中解決衝突,如圖所示:
一、點擊未暫存區域的衝突文件。
二、右側列表中出現衝突的內容。
三、選擇衝突內容,解決衝突,如圖所示:
暫存行:表示保留該內容
丟棄行:表示刪除該內容
備註:區分於第一種方式,使用第一種方法解決時,不要點擊」未暫存文件」,不然可能沒法打開衝突文件
原則上,代碼推送以前要保證本地的代碼可運行,不要將不可運行或者有問題的代碼推送到服務器上,若是因爲誤操做,將代碼推送到了遠程,想從新修改上傳代碼,此時,須要將版本進行回退,回退方法如圖:
一、切換到日誌/歷史標籤
二、選擇要恢復到的版本,如圖藍色位置
三、鼠標右鍵,選擇「重置當前分支到這次提交」
四、選擇」重置模式」,如圖所示
五、彈出框中選擇」Yes」
衝突信息
先更新信息
小竅門:
若是推送時,拉取右上方顯示數字,則須要先拉取再推送。
克隆(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命令行
【原文連接】:SourceTree使用方法