GUI for git|SourceTree|入門基礎

-*--_

目錄

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

一、SourceTree簡介

SourceTree 是 Windows 和Mac OS X 下免費的 Git 和 Hg 客戶端,擁有可視化界面,容易上手操作。同時它也是Mercurial和Subversion版本控制系統工具。支持創建、提交、clone、push、pull 和merge等操作。

二、SourceTree基本使用

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

  1. 基本安裝
    1.1. 不建議在appstore直接搜索下載SourceTree,因為appstore里的版本已經十分老舊(好像是2012年更新的)。建議前往官網下載安裝最新版,我這里也提供一個SourceTree for Mac V2.0.5.2的百度云的方便鏈接。 傳送門→SourceTreeDownload
    1.2. 拖動安裝,Launchpad中打開,continue,輸入github賬號按下一步完成即可。沒有Github賬號的朋友,也可以跳過本步驟完成安裝

  2. 注冊GitHub(已有Github賬號的朋友請跳過本步驟)
    2.1. 打開Github官網 傳送門→Github
    2.2. 填寫必要的信息,點擊sigh up for github

    Github Register 1

    2.3. 默認選中免費賬號,點擊綠色的Finish sign up即可
    Github Register 2

  3. 實踐入門-創建倉庫 clone&pull
    3.1. 創建倉庫
    用我們剛才創建的賬號登陸github,在歡迎頁點擊“+ New repository“創建我們的倉庫


    Create Repository 1

    或點擊右上角的“+”,然后再New repository亦可


    Create Repository 2

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

    3.3. 至此,我們的倉庫已經創建成功。創建成功后,我們在頁面的右下角找到鏈接,點擊復制
    Copy Link

    3.4. 打開我們的SourceTree,點擊:“+新倉庫”,選擇:“從URL克隆”


    Clone 1

    3.5. 粘貼我們的倉庫鏈接至源URL,SourceTree會自動幫我們生成目標路徑(本地倉庫路徑)以及名稱,點擊克隆
    Clone 2

    3.6. 等待數秒后,SourceTree會為我們自動打開我們剛才克隆的倉庫,選擇master選項,這里我們可以看到我們倉庫里的所有文件
    MainPage

    3.7. 接下來我們想要上傳一個項目至我們的遠程Github倉庫內。我們點擊右上角“在Finder”中顯示。然后SourceTree會幫我們打開我們的本地倉庫,我們將需要上傳的項目復制到本地的Finder文件夾內,然后關閉文件夾,回到主頁面。我們會發現工作副本出現了更改提示
    Change Notification

    3.8. 我們點擊工作副本,然后我們發現我們剛才上傳的文件都在未暫存文件當中,此時,我們勾選“未暫存文件”
    工作副本 1

    3.9. 發現我們的文件變成了已暫存文件。此時,我們可以輸入更新信息,然后,點擊提交按鈕
    工作副本 2

    3.10. 我們切換回master分支,會發現master分支以及推送(Push)按鈕,都出現了更改提示。這表示SourceTree已經將我們剛才添加的文件成功提交到本地倉庫,而本地倉庫的內容則比遠程倉庫超前了一個版本。我們這個時候點擊推送(Push)即可將本地倉庫的內容同步至遠程倉庫。
    Branch Master

    3.11. 點擊推送(push),等待片刻即可,我們重新登錄github網站,會發現我們剛才本地倉庫的文件已經成功推送到遠程倉庫


    Push
  4. 實踐入門-參與開源 Fork&pull request
    (以下以 [https://github.com/octocat/Spoon-Knife] 舉例)
    4.1. 首先打開上述頁面,然后點擊右上角“fork”按鈕。fork意味著將他人的倉庫復制到我們賬號中。如果我們想要參與開源項目,首先要fork下別人的項目,然后在我們復制過來的倉庫中,對別人的代碼做修改。

    fork

    4.2. fork完之后,我們用上文提到的方法,將自己賬號中的[Spoon-Knife]倉庫克隆(clone)到本機SourceTree中,并在稍作更改后,推送(push)到自己賬號的遠程倉庫
    ?4.2.1 在SourceTree中建立新倉庫,并復制URL
    clone Spoon-Knife

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

    ?4.2.3 通過上文方法推送(Push),登陸Github,進入Spoon-Knife倉庫,發現test已經上傳到我們賬號的遠程倉庫Spoon-Knife當中
    Success

    4.3. 上傳完后,我們點擊Github branch旁的綠色按鈕
    Pull Request 1

    4.4. 之后我們會進入一個Compare頁面,這個頁面用于比較作者倉庫與我們倉庫的文件的不同。Base fork:指的是作者倉庫目錄地址;Head fork:指的是我們賬號中fork后所產生的倉庫地址。我們點擊Create pull request即可
    Compare

    4.5. 然后我們會進入一個Pull Request界面,在這里,我們可以輸入自己更改的原因/更改的內容。這里寫的文字會顯示給源代碼作者,如果作者接受了我們的推送請求(pull request)后,我們的代碼將會上傳到源代碼作者的倉庫內,成功為開源做貢獻。如果作者拒絕了我們的推送請求(pull request)后,我們的代碼將不會上傳到源代碼作者的倉庫內。
    Pull Request 2

    4.6. 我們點擊Create Pull Request即可,系統將自動跳轉到等待回復的頁面,這里會顯示作者是否接受我們的代碼更改。
    Pull Request 3

三、SourceTree&Git部分名詞解釋

  1. 克隆(clone):從遠程倉庫URL加載創建一個與遠程倉庫一樣的本地倉庫
  2. 提交(commit):將暫存文件上傳到本地倉庫(我們在Finder中對本地倉庫做修改后一般都得先提交一次,再推送)
  3. 檢出(checkout):切換不同分支
  4. 添加(add):添加文件到緩存區
  5. 移除(remove):移除文件至緩存區
  6. 暫存(git stash):保存工作現場
  7. 重置(reset):回到最近添加(add)/提交(commit)狀態
  8. 合并(merge):將多個同名文件合并為一個文件,該文件包含多個同名文件的所有內容,相同內容抵消
  9. 抓取(fetch):從遠程倉庫獲取信息并同步至本地倉庫
  10. 拉取(pull):從遠程倉庫獲取信息并同步至本地倉庫,并且自動執行合并(merge)操作,即 ** pull=fetch+merge **
  11. 推送(push):將本地倉庫同步至遠程倉庫,一般推送(push)前先拉取(pull)一次,確保一致
  12. 分支(branch):創建/修改/刪除分枝
  13. 標簽(tag):給項目增添標簽
  14. 工作流(Git Flow):團隊工作時,每個人創建屬于自己的分枝(branch),確定無誤后提交到master分枝
  15. 終端(terminal):可以輸入git命令行

四、相關鏈接推薦

  1. →Github help for mac
  2. →Github help for win
  3. →極客學院Git教學視頻
    -*--_
    上文均為個人拙見,歡迎大家討論交流
    作者:[SeaHub]
    作者郵箱:[seahub@163.com]
    關于轉載:歡迎轉載,但未經作者同意,必須在文章中給出原文連接。

-*--_

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,461評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,538評論 3 417
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,423評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,991評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,761評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,207評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,268評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,419評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,959評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,653評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,901評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,678評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,978評論 2 374

推薦閱讀更多精彩內容