GUI for git|SourceTree|入門基礎(chǔ)

-*--_

目錄

  1. SourceTree簡(jiǎn)介
  2. SourceTree基本使用
  3. SourceTree&Git部分名詞解釋
  4. 相關(guān)連接推薦
    -*--_

一、SourceTree簡(jiǎn)介

SourceTree 是 Windows 和Mac OS X 下免費(fèi)的 Git 和 Hg 客戶端洽腺,擁有可視化界面霜定,容易上手操作没隘。同時(shí)它也是Mercurial和Subversion版本控制系統(tǒng)工具届宠。支持創(chuàng)建蛤袒、提交求豫、clone塌衰、push、pull 和merge等操作蝠嘉。

二最疆、SourceTree基本使用

(以下以SourceTree For Mac V2.0.5.2中文版為例,托管平臺(tái)以Github為例)

  1. 基本安裝
    1.1. 不建議在appstore直接搜索下載SourceTree蚤告,因?yàn)閍ppstore里的版本已經(jīng)十分老舊(好像是2012年更新的)努酸。建議前往官網(wǎng)下載安裝最新版,我這里也提供一個(gè)SourceTree for Mac V2.0.5.2的百度云的方便鏈接杜恰。 傳送門→SourceTreeDownload
    1.2. 拖動(dòng)安裝获诈,Launchpad中打開仍源,continue,輸入github賬號(hào)按下一步完成即可舔涎。沒有Github賬號(hào)的朋友笼踩,也可以跳過本步驟完成安裝

  2. 注冊(cè)GitHub(已有Github賬號(hào)的朋友請(qǐng)?zhí)^本步驟)
    2.1. 打開Github官網(wǎng) 傳送門→Github
    2.2. 填寫必要的信息,點(diǎn)擊sigh up for github

    Github Register 1

    2.3. 默認(rèn)選中免費(fèi)賬號(hào)亡嫌,點(diǎn)擊綠色的Finish sign up即可
    Github Register 2

  3. 實(shí)踐入門-創(chuàng)建倉庫 clone&pull
    3.1. 創(chuàng)建倉庫
    用我們剛才創(chuàng)建的賬號(hào)登陸github嚎于,在歡迎頁點(diǎn)擊“+ New repository“創(chuàng)建我們的倉庫


    Create Repository 1

    或點(diǎn)擊右上角的“+”,然后再New repository亦可


    Create Repository 2

    3.2. 按照個(gè)人需要填寫倉庫名昼伴、倉庫描述等匾旭,建議勾選“Initialize this repository with a README”(注意此處免費(fèi)賬戶只能選擇建立public(開源)倉庫),填寫完成后點(diǎn)擊Create repository
    Create Repository 3

    3.3. 至此圃郊,我們的倉庫已經(jīng)創(chuàng)建成功价涝。創(chuàng)建成功后,我們?cè)陧撁娴挠蚁陆钦业芥溄映钟撸c(diǎn)擊復(fù)制
    Copy Link

    3.4. 打開我們的SourceTree色瘩,點(diǎn)擊:“+新倉庫”,選擇:“從URL克隆”


    Clone 1

    3.5. 粘貼我們的倉庫鏈接至源URL逸寓,SourceTree會(huì)自動(dòng)幫我們生成目標(biāo)路徑(本地倉庫路徑)以及名稱居兆,點(diǎn)擊克隆
    Clone 2

    3.6. 等待數(shù)秒后,SourceTree會(huì)為我們自動(dòng)打開我們剛才克隆的倉庫竹伸,選擇master選項(xiàng)泥栖,這里我們可以看到我們倉庫里的所有文件
    MainPage

    3.7. 接下來我們想要上傳一個(gè)項(xiàng)目至我們的遠(yuǎn)程Github倉庫內(nèi)。我們點(diǎn)擊右上角“在Finder”中顯示勋篓。然后SourceTree會(huì)幫我們打開我們的本地倉庫吧享,我們將需要上傳的項(xiàng)目復(fù)制到本地的Finder文件夾內(nèi),然后關(guān)閉文件夾譬嚣,回到主頁面钢颂。我們會(huì)發(fā)現(xiàn)工作副本出現(xiàn)了更改提示
    Change Notification

    3.8. 我們點(diǎn)擊工作副本,然后我們發(fā)現(xiàn)我們剛才上傳的文件都在未暫存文件當(dāng)中拜银,此時(shí)殊鞭,我們勾選“未暫存文件”
    工作副本 1

    3.9. 發(fā)現(xiàn)我們的文件變成了已暫存文件。此時(shí)尼桶,我們可以輸入更新信息操灿,然后,點(diǎn)擊提交按鈕
    工作副本 2

    3.10. 我們切換回master分支泵督,會(huì)發(fā)現(xiàn)master分支以及推送(Push)按鈕牲尺,都出現(xiàn)了更改提示。這表示SourceTree已經(jīng)將我們剛才添加的文件成功提交到本地倉庫,而本地倉庫的內(nèi)容則比遠(yuǎn)程倉庫超前了一個(gè)版本谤碳。我們這個(gè)時(shí)候點(diǎn)擊推送(Push)即可將本地倉庫的內(nèi)容同步至遠(yuǎn)程倉庫溃卡。
    Branch Master

    3.11. 點(diǎn)擊推送(push),等待片刻即可蜒简,我們重新登錄github網(wǎng)站瘸羡,會(huì)發(fā)現(xiàn)我們剛才本地倉庫的文件已經(jīng)成功推送到遠(yuǎn)程倉庫


    Push
  4. 實(shí)踐入門-參與開源 Fork&pull request
    (以下以 [https://github.com/octocat/Spoon-Knife] 舉例)
    4.1. 首先打開上述頁面,然后點(diǎn)擊右上角“fork”按鈕搓茬。fork意味著將他人的倉庫復(fù)制到我們賬號(hào)中犹赖。如果我們想要參與開源項(xiàng)目,首先要fork下別人的項(xiàng)目卷仑,然后在我們復(fù)制過來的倉庫中峻村,對(duì)別人的代碼做修改。

    fork

    4.2. fork完之后锡凝,我們用上文提到的方法粘昨,將自己賬號(hào)中的[Spoon-Knife]倉庫克隆(clone)到本機(jī)SourceTree中窜锯,并在稍作更改后张肾,推送(push)到自己賬號(hào)的遠(yuǎn)程倉庫
    ?4.2.1 在SourceTree中建立新倉庫,并復(fù)制URL
    clone Spoon-Knife

    ?4.2.2 在本地倉庫中稍作更改(如圖我新建了一個(gè)Test)
    Example

    ?4.2.3 通過上文方法推送(Push)锚扎,登陸Github吞瞪,進(jìn)入Spoon-Knife倉庫,發(fā)現(xiàn)test已經(jīng)上傳到我們賬號(hào)的遠(yuǎn)程倉庫Spoon-Knife當(dāng)中
    Success

    4.3. 上傳完后驾孔,我們點(diǎn)擊Github branch旁的綠色按鈕
    Pull Request 1

    4.4. 之后我們會(huì)進(jìn)入一個(gè)Compare頁面芍秆,這個(gè)頁面用于比較作者倉庫與我們倉庫的文件的不同。Base fork:指的是作者倉庫目錄地址翠勉;Head fork:指的是我們賬號(hào)中fork后所產(chǎn)生的倉庫地址妖啥。我們點(diǎn)擊Create pull request即可
    Compare

    4.5. 然后我們會(huì)進(jìn)入一個(gè)Pull Request界面,在這里眉菱,我們可以輸入自己更改的原因/更改的內(nèi)容迹栓。這里寫的文字會(huì)顯示給源代碼作者掉分,如果作者接受了我們的推送請(qǐng)求(pull request)后俭缓,我們的代碼將會(huì)上傳到源代碼作者的倉庫內(nèi),成功為開源做貢獻(xiàn)酥郭。如果作者拒絕了我們的推送請(qǐng)求(pull request)后华坦,我們的代碼將不會(huì)上傳到源代碼作者的倉庫內(nèi)。
    Pull Request 2

    4.6. 我們點(diǎn)擊Create Pull Request即可不从,系統(tǒng)將自動(dòng)跳轉(zhuǎn)到等待回復(fù)的頁面惜姐,這里會(huì)顯示作者是否接受我們的代碼更改。
    Pull Request 3

三、SourceTree&Git部分名詞解釋

  1. 克隆(clone):從遠(yuǎn)程倉庫URL加載創(chuàng)建一個(gè)與遠(yuǎn)程倉庫一樣的本地倉庫
  2. 提交(commit):將暫存文件上傳到本地倉庫(我們?cè)贔inder中對(duì)本地倉庫做修改后一般都得先提交一次歹袁,再推送)
  3. 檢出(checkout):切換不同分支
  4. 添加(add):添加文件到緩存區(qū)
  5. 移除(remove):移除文件至緩存區(qū)
  6. 暫存(git stash):保存工作現(xiàn)場(chǎng)
  7. 重置(reset):回到最近添加(add)/提交(commit)狀態(tài)
  8. 合并(merge):將多個(gè)同名文件合并為一個(gè)文件坷衍,該文件包含多個(gè)同名文件的所有內(nèi)容,相同內(nèi)容抵消
  9. 抓取(fetch):從遠(yuǎn)程倉庫獲取信息并同步至本地倉庫
  10. 拉取(pull):從遠(yuǎn)程倉庫獲取信息并同步至本地倉庫条舔,并且自動(dòng)執(zhí)行合并(merge)操作枫耳,即 ** pull=fetch+merge **
  11. 推送(push):將本地倉庫同步至遠(yuǎn)程倉庫,一般推送(push)前先拉让峡埂(pull)一次迁杨,確保一致
  12. 分支(branch):創(chuàng)建/修改/刪除分枝
  13. 標(biāo)簽(tag):給項(xiàng)目增添標(biāo)簽
  14. 工作流(Git Flow):團(tuán)隊(duì)工作時(shí),每個(gè)人創(chuàng)建屬于自己的分枝(branch)凄硼,確定無誤后提交到master分枝
  15. 終端(terminal):可以輸入git命令行

四铅协、相關(guān)鏈接推薦

  1. →Github help for mac
  2. →Github help for win
  3. →極客學(xué)院Git教學(xué)視頻
    -*--_
    上文均為個(gè)人拙見,歡迎大家討論交流
    作者:[SeaHub]
    作者郵箱:[seahub@163.com]
    關(guān)于轉(zhuǎn)載:歡迎轉(zhuǎn)載摊沉,但未經(jīng)作者同意狐史,必須在文章中給出原文連接。

-*--_

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末坯钦,一起剝皮案震驚了整個(gè)濱河市预皇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌婉刀,老刑警劉巖吟温,帶你破解...
    沈念sama閱讀 206,013評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異突颊,居然都是意外死亡鲁豪,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門律秃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來爬橡,“玉大人,你說我怎么就攤上這事棒动〔谏辏” “怎么了?”我有些...
    開封第一講書人閱讀 152,370評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵船惨,是天一觀的道長柜裸。 經(jīng)常有香客問我,道長粱锐,這世上最難降的妖魔是什么疙挺? 我笑而不...
    開封第一講書人閱讀 55,168評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮怜浅,結(jié)果婚禮上铐然,老公的妹妹穿的比我還像新娘蔬崩。我一直安慰自己,他們只是感情好搀暑,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評(píng)論 5 371
  • 文/花漫 我一把揭開白布沥阳。 她就那樣靜靜地躺著,像睡著了一般自点。 火紅的嫁衣襯著肌膚如雪沪袭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,954評(píng)論 1 283
  • 那天樟氢,我揣著相機(jī)與錄音冈绊,去河邊找鬼。 笑死埠啃,一個(gè)胖子當(dāng)著我的面吹牛死宣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播碴开,決...
    沈念sama閱讀 38,271評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼毅该,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了潦牛?” 一聲冷哼從身側(cè)響起眶掌,我...
    開封第一講書人閱讀 36,916評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎巴碗,沒想到半個(gè)月后朴爬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡橡淆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評(píng)論 2 323
  • 正文 我和宋清朗相戀三年召噩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逸爵。...
    茶點(diǎn)故事閱讀 37,989評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡具滴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出师倔,到底是詐尸還是另有隱情构韵,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評(píng)論 4 322
  • 正文 年R本政府宣布趋艘,位于F島的核電站疲恢,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏致稀。R本人自食惡果不足惜冈闭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評(píng)論 3 307
  • 文/蒙蒙 一俱尼、第九天 我趴在偏房一處隱蔽的房頂上張望抖单。 院中可真熱鬧,春花似錦、人聲如沸矛绘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽货矮。三九已至羊精,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間囚玫,已是汗流浹背喧锦。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評(píng)論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留抓督,地道東北人燃少。 一個(gè)月前我還...
    沈念sama閱讀 45,401評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像铃在,于是被迫代替她去往敵國和親阵具。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評(píng)論 2 345

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