一 蚀浆、SourceTree簡介
SourceTree 是 Windows 和Mac OS X 下免費的 Git 和 Hg 客戶端擎析,擁有可視化界面堰乔,容易上手操作定枷。同時它也是Mercurial和Subversion版本控制系統(tǒng)工具横浑。支持創(chuàng)建园担、提交奏纪、clone腌乡、push京髓、pull 和merge等操作航缀。
二、下載安裝SourceTree步驟
1堰怨、下載地址:https://www.sourcetreeapp.com/芥玉,該版本是中文的
下載完成后可以進行安裝。
2备图、安裝SourceTree
安裝首界面
點擊灿巧,Next
點擊“install”,安裝完成后揽涮,打開sourcetree抠藕,點擊“user an existing account”,如圖
注意:1使用谷歌帳號登錄即可,前提是你必須可以上谷歌才可以蒋困。
GOOGLE帳號登錄完成之后盾似,如圖:
此處無需設(shè)置,直接點擊“跳過初始設(shè)置”即可雪标。
登錄注冊成功后零院,彈出設(shè)置puttykey的界面购岗,點擊“取消”即可。
點擊“取消”按鈕门粪,彈出如下提示框:
此時進入到sourcetree的主界面喊积,現(xiàn)在就可以使用sourcetree啦。
三玄妈、集成文件對比插件
安裝對比插件
Sourcetree中集成Beyond Compare 4乾吻,當文件沖突時可以很好的解決沖突。安裝過程很簡單拟蜻,這里不再詳述绎签。
Sourcetree中配置Beyond Compare 4
菜單欄,“工具”——“選項”酝锅,如圖所示:
選擇“比較”選項卡诡必,然后將紅色方框處的內(nèi)容修改為如圖所示:
四、SourceTree基本使用
(1)克隆
點擊克隆按鈕搔扁,克隆項目:
既可以是本地已有的git項目爸舒,也可以是遠程目錄中的項目,
本地存在的git項目稿蹲,
獲取項目克隆地址扭勉,點擊克隆按鈕,如圖所示:
1苛聘、克隆項目的路徑
2涂炎、克隆項目存放的位置
3、如果要下載特定的分支设哗,可以按分支進行下載
(2)配置忽略文件
利用.gitignore過濾文件唱捣,如編譯過程中的中間文件,等等网梢,這些文件不需要被追蹤管理震缭。
.gitignore文件只對還沒有加入版本管理的文件起作用,如果之前已經(jīng)用git把這些文件納入了版本庫澎粟,就不起作用了
使用sourcetree添加忽略文件的方法:
正常情況下蛀序,管理員創(chuàng)建項目后需要直接將忽略文件創(chuàng)建好。創(chuàng)建方法如圖:
按照如上步驟操作即可編輯沖突文件活烙。
沖突文件規(guī)則:
忽略文件夾(如:bin徐裸、obj):
obj/
bin/
某目錄下的所有.txt文件,
obj/*.txt
開發(fā)的過程中可能遇到一些忽略文件中未添加的文件啸盏,此時需要開發(fā)者自行添加忽略文件重贺,添加方法如下:
之前已經(jīng)介紹過未進行版本控制的或者受版本控制的文件,在sourcetree的“文件狀態(tài)” 標簽中查找,如圖所示:
鼠標右鍵要忽略的文件气笙,點擊“忽略”次企,選擇忽略的模式,即可將文件進行忽略潜圃,如圖所示:
(3)tag使用方法
打tag的目的是在代碼的主要節(jié)點處有個標記缸棵,方便下次修改代碼時可以準確的找到想要找的代碼。而無需看著日志文件逐一回憶要找的代碼位置谭期。
(4)分支管理與使用
使用sourcetree創(chuàng)建和使用分支是很方便的堵第,不像之前使用的TortoiseGit只能在當前代碼處創(chuàng)建分支,使用sourcetree的方便之處:
1隧出、可以選擇特定的某版本創(chuàng)建分支
2踏志、代碼檢出時可以按照分支進行檢出
3、分支的添加很簡單
分支添加:
1胀瞪、可以在當前的版本下創(chuàng)建分支
2针余、選擇指定的提交創(chuàng)建分支
3、點擊“創(chuàng)建分支”
分支提交到服務(wù)器:
在sourcetree右側(cè)內(nèi)容中的分支列表中凄诞,選中創(chuàng)建的分支圆雁,右鍵提交,如圖所示:
分支合并:
1幔摸、分支合并功能和分支添加功能類似摸柄,這里不再詳述颤练,需要注意的是首先要切換到被合并的分支上既忆,再進行合并操作。
2嗦玖、分支合并時患雇,可以選擇具體的某提交進行合并,同時主分支可以合并到子分支宇挫;子分支可以合并到主分支苛吱;子分支之間也可以進行合并。
(5)GIT與SVN同步
git svn工具集在當前不得不使用 Subversion 服務(wù)器或者開發(fā)環(huán)境要求使用 Subversion 服務(wù)器的時候格外有用器瘪。不妨把它看成一個跛腳的 Git翠储,在實際使用中不推薦這樣使用GIT。
(6)基本步驟
提交橡疼、拉取和推送
提交:
項目提交是為了維護本地版本庫援所,如果本地有未提交的內(nèi)容,則不允許拉取和推送欣除;如圖所示區(qū)域有內(nèi)容時住拭,則代表本地未提交的內(nèi)容:
點擊Stage All,填寫提交信息既可以將本地內(nèi)容(暫存區(qū))提交到本地版本庫,如圖所示:
1滔岳、將未暫存的文件進行暫存杠娱,如果有些文件不需要暫存,則可以進行刪除谱煤,選中文件摊求,右鍵“移除”即可。
拉攘趵搿:從遠程將代碼進行更新睹簇,相當于SVN的“更新”
推送:將代碼提交到遠程。
(7)解決沖突
簡單介紹
1寥闪、沖突文件的符號為“感嘆號”
2太惠、選中“沖突文件”,右鍵——點擊”解決沖突“——點擊”打開外部合并工具“(備注:才操作時已經(jīng)安裝外部合并工具疲憋,同時在sourcetree中已經(jīng)進行配置凿渊,詳見”集成文件對比插件“)
沖突界面
沖突解決界面如下:可以根據(jù)需要選擇內(nèi)容顯示類型,只”顯示更改“缚柳,”顯示沖突“或者”全部“
解決沖突
方法一:在相關(guān)的版本處埃脏,選中”沖突行”,合并區(qū)默認處于合并位置秋忙,鼠標右鍵彩掐,選擇最終沖突地方留下的內(nèi)容,如圖:
解決沖突之后效果圖:
1灰追、沖突圖標由”感嘆號”——“省略號”堵幽。
2、右側(cè)顯示修改后的代碼進行查看弹澎。
3朴下、同時修改的沖突文件有相應(yīng)的備份,大家可以下載到本地苦蒿,方便沖突有問題再次修改文件殴胧。
備注:該文件下載之后請將版本庫中的該文件刪除,不要上傳到版本庫中佩迟。
4团滥、修改完沖突之后,需要再次提交报强,推送灸姊。大家養(yǎng)成提交時,提交有效的日志信息躺涝,不要將比如:123之類的信息推送到服務(wù)器中厨钻。
方法二:如果沖突非常少扼雏,可以直接在右側(cè)欄中解決沖突,如圖所示:
1夯膀、點擊未暫存區(qū)域的沖突文件诗充。
2、右側(cè)列表中出現(xiàn)沖突的內(nèi)容诱建。
3蝴蜓、選擇沖突內(nèi)容,解決沖突俺猿,如圖所示:
暫存行:表示保留該內(nèi)容
丟棄行:表示刪除該內(nèi)容
備注:區(qū)分于第一種方式茎匠,使用第一種方法解決時,不要點擊”未暫存文件”,否則可能無法打開沖突文件
(8)版本回退
原則上押袍,代碼推送之前要保證本地的代碼可運行诵冒,不要將不可運行或者有問題的代碼推送到服務(wù)器上,如果由于誤操作谊惭,將代碼推送到了遠程汽馋,想重新修改上傳代碼,此時圈盔,需要將版本進行回退豹芯,回退方法如圖:
1、切換到日志/歷史標簽
2驱敲、選擇要恢復(fù)到的版本铁蹈,如圖藍色位置
3、鼠標右鍵众眨,選擇“重置當前分支到此次提交”
4握牧、選擇”重置模式”,如圖所示
5围辙、彈出框中選擇”Yes”
(9)相關(guān)提示信息含義
沖突信息
先更新信息
小竅門:
如果推送時我碟,拉取右上方顯示數(shù)字,則需要先拉取再推送姚建。
五、SourceTree&Git部分名詞解釋
克隆(clone):從遠程倉庫URL加載創(chuàng)建一個與遠程倉庫一樣的本地倉庫
提交(commit):將暫存文件上傳到本地倉庫(我們在Finder中對本地倉庫做修改后一般都得先提交一次吱殉,再推送)
檢出(checkout):切換不同分支
添加(add):添加文件到緩存區(qū)
移除(remove):移除文件至緩存區(qū)
暫存(git stash):保存工作現(xiàn)場
重置(reset):回到最近添加(add)/提交(commit)狀態(tài)
合并(merge):將多個同名文件合并為一個文件掸冤,該文件包含多個同名文件的所有內(nèi)容,相同內(nèi)容抵消
抓取(fetch):從遠程倉庫獲取信息并同步至本地倉庫
拉取(pull):從遠程倉庫獲取信息并同步至本地倉庫友雳,并且自動執(zhí)行合并(merge)操作稿湿,即 pull=fetch+merge
推送(push):將本地倉庫同步至遠程倉庫,一般推送(push)前先拉妊荷蕖(pull)一次饺藤,確保一致
分支(branch):創(chuàng)建/修改/刪除分枝
標簽(tag):給項目增添標簽
工作流(Git Flow):團隊工作時,每個人創(chuàng)建屬于自己的分枝(branch),確定無誤后提交到master分枝
終端(terminal):可以輸入git命令行