SourceTree使用方法

<pre>

一 循集、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

安裝首界面

[圖片上傳失敗...(image-ac1124-1512659835542)]

點擊,Next

[圖片上傳失敗...(image-b44eb7-1512659835542)]

點擊“install”宋列,安裝完成后昭抒,打開sourcetree,點擊“user an existing account”,如圖

[圖片上傳失敗...(image-27cb10-1512659835542)]

注意:1使用谷歌帳號登錄即可炼杖,前提是你必須可以上谷歌才可以灭返。

GOOGLE帳號登錄完成之后,如圖:

[圖片上傳失敗...(image-d40d85-1512659835542)]

此處無需設(shè)置坤邪,直接點擊“跳過初始設(shè)置”即可熙含。

登錄注冊成功后,彈出設(shè)置puttykey的界面艇纺,點擊“取消”即可怎静。

[圖片上傳失敗...(image-309a73-1512659835542)]

點擊“取消”按鈕,彈出如下提示框:

[圖片上傳失敗...(image-79471e-1512659835542)]

此時進入到sourcetree的主界面黔衡,現(xiàn)在就可以使用sourcetree啦蚓聘。

三、集成文件對比插件

安裝對比插件

Sourcetree中集成Beyond Compare 4员帮,當文件沖突時可以很好的解決沖突或粮。安裝過程很簡單,這里不再詳述捞高。

Sourcetree中配置Beyond Compare 4

菜單欄氯材,“工具”——“選項”渣锦,如圖所示:

[圖片上傳失敗...(image-58cfbb-1512659835542)]

選擇“比較”選項卡,然后將紅色方框處的內(nèi)容修改為如圖所示:

[圖片上傳失敗...(image-e8da46-1512659835542)]

四氢哮、SourceTree基本使用

克隆

點擊克隆按鈕袋毙,克隆項目:

既可以是本地已有的git項目,也可以是遠程目錄中的項目冗尤,

[圖片上傳失敗...(image-bb890e-1512659835542)]

本地存在的git項目听盖,

獲取項目克隆地址,點擊克隆按鈕裂七,如圖所示:

[圖片上傳失敗...(image-fb260c-1512659835542)]

1皆看、克隆項目的路徑

2、克隆項目存放的位置

3背零、如果要下載特定的分支腰吟,可以按分支進行下載

配置忽略文件

利用.gitignore過濾文件,如編譯過程中的中間文件徙瓶,等等毛雇,這些文件不需要被追蹤管理。

.gitignore文件只對還沒有加入版本管理的文件起作用侦镇,如果之前已經(jīng)用git把這些文件納入了版本庫灵疮,就不起作用了

使用sourcetree添加忽略文件的方法:

正常情況下,管理員創(chuàng)建項目后需要直接將忽略文件創(chuàng)建好壳繁。創(chuàng)建方法如圖:

[圖片上傳失敗...(image-e4d026-1512659835542)]

按照如上步驟操作即可編輯沖突文件震捣。

沖突文件規(guī)則:

忽略文件夾(如:bin、obj):

obj/

bin/

某目錄下的所有.txt文件氮趋,

obj/*.txt

開發(fā)的過程中可能遇到一些忽略文件中未添加的文件伍派,此時需要開發(fā)者自行添加忽略文件,添加方法如下:

之前已經(jīng)介紹過未進行版本控制的或者受版本控制的文件剩胁,在sourcetree的“文件狀態(tài)” 標簽中查找诉植,如圖所示:

[圖片上傳失敗...(image-89d0bc-1512659835542)]

鼠標右鍵要忽略的文件,點擊“忽略”昵观,選擇忽略的模式晾腔,即可將文件進行忽略,如圖所示:

[圖片上傳失敗...(image-5060a7-1512659835542)]

tag使用方法

打tag的目的是在代碼的主要節(jié)點處有個標記啊犬,方便下次修改代碼時可以準確的找到想要找的代碼灼擂。而無需看著日志文件逐一回憶要找的代碼位置。

[圖片上傳失敗...(image-22525b-1512659835542)]

分支管理與使用

使用sourcetree創(chuàng)建和使用分支是很方便的觉至,不像之前使用的TortoiseGit只能在當前代碼處創(chuàng)建分支剔应,使用sourcetree的方便之處:

1、可以選擇特定的某版本創(chuàng)建分支

2、代碼檢出時可以按照分支進行檢出

3峻贮、分支的添加很簡單

分支添加:

[圖片上傳失敗...(image-3184a-1512659835542)]

1席怪、可以在當前的版本下創(chuàng)建分支

2、選擇指定的提交創(chuàng)建分支

3纤控、點擊“創(chuàng)建分支”

分支提交到服務器:

在sourcetree右側(cè)內(nèi)容中的分支列表中挂捻,選中創(chuàng)建的分支,右鍵提交船万,如圖所示:

[圖片上傳失敗...(image-eda830-1512659835542)]

分支合并:

1刻撒、分支合并功能和分支添加功能類似,這里不再詳述耿导,需要注意的是首先要切換到被合并的分支上声怔,再進行合并操作。

2碎节、分支合并時捧搞,可以選擇具體的某提交進行合并,同時主分支可以合并到子分支狮荔;子分支可以合并到主分支;子分支之間也可以進行合并介粘。

GIT與SVN同步

git svn工具集在當前不得不使用 Subversion 服務器或者開發(fā)環(huán)境要求使用 Subversion 服務器的時候格外有用殖氏。不妨把它看成一個跛腳的 Git,在實際使用中不推薦這樣使用GIT姻采。

基本步驟

提交雅采、拉取和推送

提交:

項目提交是為了維護本地版本庫,如果本地有未提交的內(nèi)容慨亲,則不允許拉取和推送婚瓜;如圖所示區(qū)域有內(nèi)容時,則代表本地未提交的內(nèi)容:

[圖片上傳失敗...(image-c7b2be-1512659835542)]

點擊Stage All刑棵,填寫提交信息既可以將本地內(nèi)容(暫存區(qū))提交到本地版本庫巴刻,如圖所示:

[圖片上傳失敗...(image-fe54f3-1512659835542)]

1、將未暫存的文件進行暫存蛉签,如果有些文件不需要暫存胡陪,則可以進行刪除,選中文件碍舍,右鍵“移除”即可柠座。

拉取:從遠程將代碼進行更新片橡,相當于SVN的“更新”

推送:將代碼提交到遠程妈经。

解決沖突

簡單介紹

[圖片上傳失敗...(image-e9a24b-1512659835542)]

1、沖突文件的符號為“感嘆號”

2、選中“沖突文件”吹泡,右鍵——點擊”解決沖突“——點擊”打開外部合并工具“(備注:才操作時已經(jīng)安裝外部合并工具录煤,同時在sourcetree中已經(jīng)進行配置,詳見”集成文件對比插件“)

沖突界面

沖突解決界面如下:可以根據(jù)需要選擇內(nèi)容顯示類型荞胡,只”顯示更改“妈踊,”顯示沖突“或者”全部“

[圖片上傳失敗...(image-877d81-1512659835542)]

解決沖突

方法一:在相關(guān)的版本處,選中”沖突行”泪漂,合并區(qū)默認處于合并位置廊营,鼠標右鍵,選擇最終沖突地方留下的內(nèi)容萝勤,如圖:

[圖片上傳失敗...(image-7e437-1512659835542)]

解決沖突之后效果圖:

[圖片上傳失敗...(image-81f939-1512659835542)]

1露筒、沖突圖標由”感嘆號”——“省略號”。

2敌卓、右側(cè)顯示修改后的代碼進行查看慎式。

3、同時修改的沖突文件有相應的備份趟径,大家可以下載到本地瘪吏,方便沖突有問題再次修改文件。

備注:該文件下載之后請將版本庫中的該文件刪除蜗巧,不要上傳到版本庫中掌眠。

4、修改完沖突之后幕屹,需要再次提交蓝丙,推送。大家養(yǎng)成提交時望拖,提交有效的日志信息渺尘,不要將比如:123之類的信息推送到服務器中。

方法二:如果沖突非常少说敏,可以直接在右側(cè)欄中解決沖突鸥跟,如圖所示:

[圖片上傳失敗...(image-f436b8-1512659835542)]

1、點擊未暫存區(qū)域的沖突文件像云。

2锌雀、右側(cè)列表中出現(xiàn)沖突的內(nèi)容。

3迅诬、選擇沖突內(nèi)容腋逆,解決沖突,如圖所示:

[圖片上傳失敗...(image-8b78ef-1512659835542)]

暫存行:表示保留該內(nèi)容

丟棄行:表示刪除該內(nèi)容

備注:區(qū)分于第一種方式侈贷,使用第一種方法解決時惩歉,不要點擊”未暫存文件”,否則可能無法打開沖突文件

版本回退

原則上等脂,代碼推送之前要保證本地的代碼可運行,不要將不可運行或者有問題的代碼推送到服務器上撑蚌,如果由于誤操作上遥,將代碼推送到了遠程,想重新修改上傳代碼争涌,此時粉楚,需要將版本進行回退,回退方法如圖:

[圖片上傳失敗...(image-eaddcd-1512659835542)]

1亮垫、切換到日志/歷史標簽

2模软、選擇要恢復到的版本,如圖藍色位置

3饮潦、鼠標右鍵燃异,選擇“重置當前分支到此次提交”

4、選擇”重置模式”继蜡,如圖所示

[圖片上傳失敗...(image-673e1a-1512659835542)]

5回俐、彈出框中選擇”Yes”

[圖片上傳失敗...(image-6faa0b-1512659835542)]

相關(guān)提示信息含義

沖突信息

[圖片上傳失敗...(image-861d10-1512659835542)]

先更新信息

[圖片上傳失敗...(image-6a38c4-1512659835542)]

[圖片上傳失敗...(image-cbb28-1512659835541)]

如果推送時,拉取右上方顯示數(shù)字稀并,則需要先拉取再推送仅颇。

GIT與SVN的區(qū)別

Git與svn的區(qū)別

1.GIT是分布式的,SVN不是稻轨,這是GIT和其它非分布式的版本控制系統(tǒng)灵莲,例如SVN,CVS等殴俱,最核心的區(qū)別。

解釋:

a GIT跟SVN一樣有自己的集中式版本庫或服務器枚抵。但线欲,GIT更傾向于被使用于分布式模式,也就是每個開發(fā)人員從中心版本庫/服務器上chect out代碼后會在自己的機器上克隆一個自己的版本庫汽摹±罘幔可以這樣說,如果你被困在一個不能連接網(wǎng)絡的地方時逼泣,就像在飛機上趴泌,地下室,電梯里等拉庶,你仍然能夠提交文件嗜憔,查看歷史版本記錄,創(chuàng)建項目分支氏仗,等吉捶。對一些人來說,這好像沒多大用處,但當你突然遇到?jīng)]有網(wǎng)絡的環(huán)境時呐舔,這個將解決你的大麻煩币励。

b 這種分布式的操作模式對于開源軟件社區(qū)的開發(fā)來說也是個巨大的恩賜,你不必再像以前那樣做出補丁包珊拼,通過email方式發(fā)送出去食呻,你只需要創(chuàng)建一個分支,向項目團隊發(fā)送一個推請求澎现。這能讓你的代碼保持最新仅胞,而且不會在傳輸過程中丟失。GitHub.com就是一個這樣的優(yōu)秀案例昔头。

2.GIT把內(nèi)容按元數(shù)據(jù)方式存儲饼问,而SVN是按文件

所有的資源控制系統(tǒng)都是把文件的元信息隱藏在一個類似.svn,.cvs等的文件夾里。如果你把.git目錄的體積大小跟.svn比較揭斧,你會發(fā)現(xiàn)它們差距很大莱革。因為,.git目錄是處于你的機器上的一個克隆版的版本庫,它擁有中心版本庫上所有的東西讹开,例如標簽盅视,分支,版本記錄等旦万。

3.分支闹击,該特點是GIT的有一個核心功能;這個功能對開源社區(qū)的奉獻很大成艘;對項目實際開發(fā)意義很大赏半;同一個工作目錄下快速的在幾個分支間切換。你很容易發(fā)現(xiàn)未被合并的分支淆两,你能簡單而快捷的合并這些文件断箫。

在SVN,分支是一個完整的目錄秋冰。且這個目錄擁有完整的實際文件仲义。如果工作成員想要開啟新的分支,那將會影響“全世界”剑勾!每個人都會擁有和你一樣的分支埃撵。如果你的分支是用來進行破壞工作(安檢測試),那將會像傳染病一樣,你改一個分支虽另,還得讓其他人重新切分支重新下載暂刘,十分狗血。而 Git洲赵,每個工作成員可以任意在自己的本地版本庫開啟無限個分支鸳惯。舉例:當我想嘗試破壞自己的程序(安檢測試)商蕴,并且想保留這些被修改的文件供日后使用, 我可以開一個分支芝发,做我喜歡的事绪商。完全不需擔心妨礙其他工作成員。只要我不合并及提交到主要版本庫辅鲸,沒有一個工作成員會被影響格郁。等到我不需要這個分支時, 我只要把它從我的本地版本庫刪除即可独悴。無痛無癢溜哮。

4.GIT沒有一個全局的版本號坎匿,而SVN有:

目前為止這是跟SVN相比GIT缺少的最大的一個特征。你也知道,SVN的版本號實際是任何一個相應時間的源代碼快照道批。我認為它是從CVS進化到SVN的最大的一個突破萝究。因為GIT和SVN從概念上就不同蜈抓,我不知道GIT里是什么特征與之對應婴栽。如果你有任何的線索,請在評論里奉獻出來與大家共享爱谁。

5.GIT的內(nèi)容完整性要優(yōu)于SVN:

GIT的內(nèi)容存儲使用的是SHA-1哈希算法晒喷。這能確保代碼內(nèi)容的完整性,確保在遇到磁盤故障和網(wǎng)絡問題時降低對版本庫的破壞访敌。這里有一個很好的關(guān)于GIT內(nèi)容完整性的討論 –http://stackoverflow.com/questions/964331/git-file-integrity

  1. 代碼庫占極少的空間凉敲。易于代碼的分支化管理。目前支持中文寺旺,已經(jīng)有成熟的圖形化管理界面工具爷抓,使用難度大阻塑。

    最后總結(jié)一下:

    SVN的特點是簡單,只是需要一個放代碼的地方時用是OK的叮姑。

GIT代碼管理平臺

開源中國上的托管的代碼管理平臺很好用据悔,適合管理代碼,但是對于一些代碼保密或者不方便放到公網(wǎng)上的代碼來說极颓,還是需要在自己公司的內(nèi)網(wǎng)搭建一個GIT代碼管理平臺。

1菠隆、Gitolite 該代碼平臺是基于Linux操作的狂秘,一方面搭建起來很麻煩,另一方權(quán)限控制起來麻煩躯肌,每次新來人員需要將安裝GIT之后的pub文件發(fā)送給管理員者春,這樣會增加了管理員和git搭建人員的麻煩。

2清女、Gitblit 是一個純 Java 庫用來管理钱烟、查看和處理 Git 資料庫.相當于 Git 的 Java 管理工具.git的管家.

一方面它有基于windows的安裝版本,安裝過程只需下一步即可嫡丙,很方便拴袭。

另一方面他是一個git代碼管理平臺,統(tǒng)一管理用戶曙博,分配權(quán)限拥刻,同時可以查看版本庫的tag和分支情況

五、SourceTree&Git部分名詞解釋

作者:小脾氣ing
鏈接:http://www.reibang.com/p/6d2717c2a3e1
來源:簡書
著作權(quán)歸作者所有父泳。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)般哼,非商業(yè)轉(zhuǎn)載請注明出處。</pre>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末尘吗,一起剝皮案震驚了整個濱河市逝她,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌睬捶,老刑警劉巖黔宛,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異擒贸,居然都是意外死亡臀晃,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門介劫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來徽惋,“玉大人,你說我怎么就攤上這事座韵∠栈妫” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵誉碴,是天一觀的道長宦棺。 經(jīng)常有香客問我,道長黔帕,這世上最難降的妖魔是什么代咸? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮成黄,結(jié)果婚禮上呐芥,老公的妹妹穿的比我還像新娘逻杖。我一直安慰自己,他們只是感情好思瘟,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布荸百。 她就那樣靜靜地躺著管搪,像睡著了一般铡买。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上澡为,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天媒至,我揣著相機與錄音拒啰,去河邊找鬼完慧。 笑死,一個胖子當著我的面吹牛册着,可吹牛的內(nèi)容都是我干的脾歧。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼司顿,長吁一口氣:“原來是場噩夢啊……” “哼免猾!你這毒婦竟也來了囤热?” 一聲冷哼從身側(cè)響起旁蔼,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤棺聊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后葵诈,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體祟同,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡晕城,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年砖顷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片豌熄。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡锣险,死狀恐怖所森,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情纷妆,我是刑警寧澤晴弃,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布上鞠,位于F島的核電站,受9級特大地震影響世曾,放射性物質(zhì)發(fā)生泄漏谴咸。R本人自食惡果不足惜骗露,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一萧锉、第九天 我趴在偏房一處隱蔽的房頂上張望柿隙。 院中可真熱鬧鲫凶,春花似錦、人聲如沸帆焕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至满着,卻和暖如春贯莺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背缕探。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工爹耗, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人倦始。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓山卦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親炫狱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容