前言
Sourcetree 是 Windows 和Mac OS X 下免費(fèi)的 Git 和 Hg 客戶端望蜡,主要依賴可視化界面操作,省去繁瑣復(fù)雜不容易理解的終端命令,Sourcetree也是Mercurial和Subversion版本控制系統(tǒng)工具,支持創(chuàng)建Local repositories 和remote repositories、submit遮婶、clone锦援、push猛蔽、pull 和merge等操作,可以應(yīng)用于github或者碼云,類似于Xcode集成的git功能,不過Sourcetree更專注于管理,具備更加直觀的文件管理/源代碼管理. 本文以Sourcetree 2.6.3 ,OS X 10.12.6,托管平臺為github為例
下載
1.登錄Sourcetree官網(wǎng) : https://www.sourcetreeapp.com/
附百度云網(wǎng)盤Sourcetree 3.0下載地址: https://pan.baidu.com/s/1X8gPIBMMsJu5KivgeIGY-Q 提取碼: iug7
2.點(diǎn)擊Download for Mac OS X,即開始自動下載,大約60M.
-
下載過程很漫長
Snip20171207_9.png
安裝
1.解壓后雙擊
2.出現(xiàn)這個情況時進(jìn)入 設(shè)置-->安全性與隱私-->點(diǎn)擊仍要打開
3.主要說一下賬戶這一步,這一步跳過不了,必須搞一個自己的賬戶,如果使用已有賬戶的就不用說了(網(wǎng)上有朋友說可以使用github賬戶,不過我試了一下,好像并不能成功,大家也可以嘗試一下),沒有的話注冊就可以了,但是注冊過程很繁瑣
-
沒有賬戶的小伙伴可以點(diǎn)擊后面的"轉(zhuǎn)到我的Atlassian"Snip20171208_11.png
-
點(diǎn)擊注冊
Snip20171208_4.png -
按要求填寫賬號密碼,可是你發(fā)現(xiàn)填完了注冊按鈕不能點(diǎn)擊有木有?!?!
Snip20171208_5.png -
這還不讓人注冊了還,經(jīng)過我的調(diào)查發(fā)現(xiàn),這里需要用梯子...
what a fuck ?.jpg -
因此刷出來的界面長這樣,其中人機(jī)身份驗(yàn)證又跟12306的驗(yàn)證碼一樣,要驗(yàn)證一下你到底是不是人,大家一看都懂,我就不啰嗦了Snip20171208_10.png
-
(注冊成功的跳過這一步------)如果大家通過這種方法注冊過程中遇到各種問題沒有注冊成功,請嘗試另一種方法用谷歌郵箱(也要梯子),跳到注冊主頁,然后注冊google郵箱,用google郵箱登錄,這樣的注冊方式我覺得更友善一些image.png
-
登錄成功后需要一些基本設(shè)置,建議在這就直接寫好image.png
點(diǎn)擊連接賬號.png -
克隆倉庫:選擇你github賬號上的一個已經(jīng)存在的倉庫clone到本地,如果要新建倉庫的話可以跳過設(shè)置,啟動后再登錄github創(chuàng)建新倉庫(推薦)或者通過SoureTree創(chuàng)建一個遠(yuǎn)程倉庫到你的githubimage.png
功能全面介紹
OK,拔山涉水終于安裝完畢,進(jìn)入主頁是長這個樣子
1.主頁
-
幾個按鈕作用:如圖,其中過濾倉庫搜索框其實(shí)就是個搜索框,可以根據(jù)倉庫名字的關(guān)鍵字搜索出倉庫,右上角的設(shè)置按鈕比較簡單這里就不再解釋大家自行點(diǎn)開一下就明白了Snip20171208_22.png
-
新建按鈕解釋Snip20171208_25.png
1.URL指的是在github賬號上創(chuàng)建的遠(yuǎn)程倉庫獨(dú)有的HTTPS和SSH鏈接,通過這個鏈接可以將遠(yuǎn)程倉庫克隆到本地進(jìn)行管理
2.直接利用Sourcetree創(chuàng)建一個遠(yuǎn)程倉庫到所關(guān)聯(lián)的github賬號
3.之前從遠(yuǎn)程倉庫克隆到本地的倉庫可以用于添加
4.就是創(chuàng)建一個本地倉庫而已啦~
5.和上面說的那個按鈕掃描文件夾一樣的
6.創(chuàng)建一個文件夾將本地或遠(yuǎn)程倉庫進(jìn)行分組管理
2.倉庫界面
接下來咱們通過具體操作來詳細(xì)闡釋一下整個使用過程
點(diǎn)擊新建按鈕--->創(chuàng)建一個本地倉庫1.創(chuàng)建一個本地倉庫
(注意點(diǎn):如果勾選私有倉庫選項,而你不是付費(fèi)用戶的話會創(chuàng)建失敗,它不會提示你是因?yàn)槭裁磩?chuàng)建失敗的)
2.查看本地倉庫
創(chuàng)建完成后在本地就會出現(xiàn)一個文件夾,這就是咱們的本地倉庫了,但是打開后是空白文件夾,這時候按快捷鍵command+shift+.(點(diǎn)),會自動顯示隱藏文件,長這個樣子,說明創(chuàng)建成功了,有興趣的哥們兒可以打開config文件查看一下提交地址,沒錯就是你在關(guān)聯(lián)賬號上同時創(chuàng)建的遠(yuǎn)程倉庫地址啦
登錄關(guān)聯(lián)的github賬號,OK創(chuàng)建成功3.查看同時創(chuàng)建的遠(yuǎn)程倉庫
4.查看Sourcetree中的倉庫
打開Xcode,在本地倉庫文件夾下創(chuàng)建一個新項目,創(chuàng)建完后打開Sourcetree發(fā)現(xiàn)有灰色的數(shù)字,代表的新改動文件數(shù)量5.創(chuàng)建工程
先介紹一下界面(介紹的比較仔細(xì),篇幅較多,懂的哥們兒可以略過)6.雙擊倉庫打開
- 1.提交:Commit 指本地倉庫的文件提交到本地倉庫保存
- 2.拉取:Pull 從關(guān)聯(lián)賬號的托管平臺(比如github)的眾多遠(yuǎn)程倉庫中下載一個倉庫到本地,前提是你得賬號里創(chuàng)建的有倉庫
- 3.推送:Push 將本地倉庫源文件提交到本地并更新到托管平臺的遠(yuǎn)程倉庫中,即本地和原唱倉庫都保存此時倉庫中的所有內(nèi)容(如果不配置ignore忽略文件的話)
- 4.抓取:Fetch 從遠(yuǎn)程倉庫抓取本倉庫的更新內(nèi)容(比如這個項目是團(tuán)隊開發(fā),別人也可能Push代碼到這個倉庫,這時候你可能就需要更新一下)并更新到本地倉庫
- 5.分支: branch 分支本質(zhì)上其實(shí)就是一個指向某次提交的可變指針HEAD,指向當(dāng)前默認(rèn)分支master或者上一分支.我們之所以需要創(chuàng)建分支分兩種情況:
- 一種是當(dāng)團(tuán)隊開發(fā)時,為了各自干自己的活不相互影響,這時候每個哥們兒都可以從主分支上建立一個屬于自己的分支出來,并在自己的分支開發(fā),當(dāng)開發(fā)完畢時,再合并到主分支即可
- 另一種情況是個人開發(fā),你需要集成某個功能但你又不確定自己是否可以集成成功且不影響源碼,這時可以建立新分支,然后再開發(fā),如果集成失敗了,又把分支源碼搞的亂七八糟,你還可以直接回滾到主分支,重新再來
- 6.合并:merge 這個當(dāng)然是在有分支的前提下進(jìn)行了,只有創(chuàng)建了分支,在分支上開發(fā)完畢后,就可以把當(dāng)前分支合并到主分支或上一分支了
- 7.暫存:git stash 好像是吧.你可以理解為暫時保存已修改內(nèi)容, 原倉庫代碼恢復(fù)到最新的一次提交,具體怎么用可以舉個例子: 假如我們正在自己的分支上修改某個功能, 修改到一半了, 另一個iOS小伙伴讓你把主干分支代碼合并到自己的分支, 這時候你沒辦法拉去代碼, 沒辦法合并, 因?yàn)槟阌行薷牡刺峤坏奈募? 這時候就有兩個方案, 第一個方案可以暫時把自己改的東西提交一下, 再拉取合并, 第二個方案使用貯存, 將目前已經(jīng)修改的代碼貯存到一個標(biāo)簽當(dāng)中, 等拉取合并完之后, 再把貯存的代碼還原到自己的分支.
所以貯存起到了暫時保存你當(dāng)前修改的內(nèi)容的作用,防止丟失, 讓開發(fā)者方便做其他操作
7.提交并推送到遠(yuǎn)程倉庫
-
打開倉庫中的工程,進(jìn)入AppDelegate.m文件中隨便加上一句代碼,Command + Simage.png
-
打開Sourcetree本地倉庫查看,我們發(fā)現(xiàn)剛才的改動的文件顯示到了為暫存文件區(qū)域,選中AppDelegate.m文件,預(yù)覽代碼直接顯示在右邊的區(qū)域類,用綠色文字和+顯示(如果是刪除了這一行,會用紅色文字和-)出修改內(nèi)容,是不是一目了然image.png
-
選中未暫存文件前的復(fù)選框,保存修改文件到Sourcetree,準(zhǔn)備提交image.png
-
點(diǎn)擊左上角的提交按鈕,輸入提交日志(強(qiáng)烈建議寫上,用于以后區(qū)分每次提交的代碼所修改的內(nèi)容),勾選立即推送的話可以直接提交到遠(yuǎn)程倉庫,最后提交右下角的提交,即可保存到本地倉庫和遠(yuǎn)程倉庫image.png
如果彈出這個框,就輸入一下所關(guān)聯(lián)github賬號密碼即可image.png -
上傳成功image.pngimage.png
-
進(jìn)入遠(yuǎn)程倉庫查看,有更新內(nèi)容就標(biāo)識提交成功了
image.png
當(dāng)我們提交代碼到倉庫后,如果想回滾到上次提交的狀態(tài)時,選中左邊的"歷史"-->選中你要回滾的提交區(qū)塊,點(diǎn)擊右邊的"回滾區(qū)塊按鈕",點(diǎn)擊后,什么也不用做,直接用Xcode打開本地倉庫文件中的項目查看,那行代碼就消失了,即回滾成功8.回滾操作
總結(jié)
- 其實(shí)Xcode中也集成了git功能,但總覺得不是很直觀,當(dāng)你用了Sourcetree一段時間后再用Xcode自帶的git可能會更熟練
- 以上為本人使用Sourcetree中的見解,如有誤區(qū),請大家批評指正!