Github桌面版使用方式

Github是一個流行的代碼管理網站,同時也是全球最大的同性交友網站(滑稽)。Github網頁上你可以自由地託管自己的項目,也可以fork別人的項目過來玩耍,非常之方便,今天筆者就來介紹一下github桌面版程序上,針對常見需求的那些相關使用方法,此處以Mac版本的爲例,win上的基本類似。

而學習Github桌面版的過程,其實也是在加深瞭解Git技術的各方各面,所以git小白也可以通過Github桌面版的使用來入門git喲!

接下來,我會通過github中比較基本的概念包括clone,branch,push,pull等來入手,一一介紹Github Desktop的使用方法。


將倉庫中的代碼下載到本地 (Clone Github Project to Local Repository)

首先,當你不想每次都打開github網站去對你的項目文件做編輯時,你可以選擇把它們down下來到本地磁盤上。而從此以後,你在本地上對項目文件的任何修改都會被記錄下來,並且只要通過github桌面程序就可以把這些修改同步到對應的github網站倉庫上,非常方便。

  1. 假設我們在github上有一個名爲Tech-Learning-Notes的項目。

這裏寫圖片描述

  1. 接下來,打開github桌面版,點擊左上角的“+”按鈕,選擇clone,你可以看到你在github上存放的(尚未down到本地的)項目列表。選中Tech-Learning-Notes項目,選擇clone Repository,然後選擇本地路徑以存放項目文件夾。

    這裏寫圖片描述

    1. 稍等一會兒,待clone完成後,到之前選擇的對應路徑下,就可以看到你的項目文件夾了。

這裏寫圖片描述

當然,你可以隨意挪動文件夾的位置,因爲github桌面程序已經鎖定了文件夾本身,不會因爲你挪動了文件夾的位置與之前保存的位置不一樣就失去關聯。而“鎖定”其實是通過項目文件夾下的”.git”文件夾實現的,所以大家不要輕易動這個文件夾喲~

然後就可以愉快地在本地隨意編輯你的項目了。

在本地更新網頁端的改變 (pull)

有一次,你的項目合作者在頁面那邊提交了一個新文件,名爲【Friend’s change】,於是你很感興趣,想把新文件同步到本地,很簡單:點擊【Repository】-【Pull】,接着,你就可以看到本地倉庫裏出現了合作者提交的新文件。

這裏寫圖片描述

在本地提交新的代碼版本到倉庫 (push local changes to remote repository)

問題來了,我們在本地對我們的項目做了一些新的修改,比如改了一些文件的源代碼,新增了和刪除了一些文件,我們怎麼把這些變化同步到github倉庫呢?

1.當你對本地的項目文件夾下的文件做了任何改動後,打開github桌面程序,你會發現,你的項目頁面變成了這樣:

這裏寫圖片描述

這裏出現的所有新條目都是你對項目文件做過的改動,包括修改代碼,增加或刪除文件,而你可以通過勾選條目前的複選框去選定將那些改動提交到倉庫。

2.選擇好改動後,在下面的註釋框裏填寫改動的相關信息,以方便後續回溯。(不填寫改動註釋的標題的話是無法提交改動的。)

這裏寫圖片描述

3.commit後,你會發現你的項目歷史結點上多了一個新的環,代表你的上一次commit記錄。

這裏寫圖片描述

4.但是commit後只是將你的改動信息保存了下來並提交到本地代碼庫,如果要讓遠程倉庫/Github頁面也變成和本地倉庫完全一樣的狀態,還需要點擊一下【Repository】-【Push】,代表將新提交的本地改變推進到遠程倉庫。另外,也可以點擊【Repository】-【Sync】,可以完成一樣的效果,只是sync同步顧名思義,還包含將遠程倉庫的改變更新到本地的動作,換言之,sync可以看做push和pull操作的聯合體。

5.待sync完成後,小環變成了一個點,代表同步完成,然後打開github的網站,進入到項目下,就會發現改動都同步了(新增了一個測試文件夾)。

這裏寫圖片描述

建立新的分支 (creating new branch)

Github項目中還有一個很重要的概念是分支(Branch)。

假設,你有一天發現,你的項目可能用普通Java項目的結構來做和用Java EE項目的結構來做都可以,但是你不確定到底用哪種好,於是你和朋友商量一個人做一版。但是,你們做的還是同一個項目,只是架構不同,那麼這時,你們就可以開兩個分支(Branch),每個分支分別代表一種架構方式。

又或者,你和朋友一起翻譯一本中文書,你負責翻譯成英文,你朋友負責翻譯成法文,那麼你們也可以分別在兩個分支上操作,而這兩個分支都屬於這本書的翻譯項目。

簡而言之,所有分支同屬一個項目,但每個分支可以互相獨立,互不干擾,而有需要時,任意兩個分支也可以合併。

在Github Desktop中,我們首先選定要創建新分支的項目,然後點擊【File】-【New Branch】(如下圖),輸入新分支的名字,並且要選擇分支克隆的範本,即新分支以哪個已有當前分支爲範本進行拷貝。

1

接着,在【Repository】-【show branches】中你就可以看到現在已有的兩個分支,一個默認的”Master”,一個新建的你自己命名的”new-demo-branch”,而分支後面的小勾代表你現在操作的分支。

2

接下來,我們在當前分支下進行的操作,無論是增刪改文件,都是針對當前分支的文件,不會對其它分支造成任何影響。

不過,你新建的這個分支目前在github頁面是看不到的,因爲它還沒有公開(publish),所以你會看到,新分支的進度條右側,會有一個”publish”按鈕,當你點擊它之後,新的分支纔會在頁面顯示出來。

這裏寫圖片描述

請求合併自己的代碼 (pull request)

當你寫好一版很厲害的代碼,覺得是對當前項目的一個非常棒的改進後,你希望可以直接把你的代碼併入到項目中去,那麼你就可以發起一個pull request。

這裏寫圖片描述

寫好pull request的理由,然後send出去,接着就可以在github頁面看到項目下的一個pull request。

這裏寫圖片描述

在網頁端這邊,項目負責人就可以對pull request進行討論和審覈,如果大家審覈通過,就可以選擇【Merge Pull Request】,表示允許合併pull request提交的改動。

這裏寫圖片描述

爲什麼要pull,而不是直接自己commit的一個重要原因在於:一般情況下,很多人是fork別人的項目,然後自己進行改進,但是你對別人的項目是沒有改動權力的,否則就亂套了,你只是能改變你從別人那邊fork過來的項目。但是你覺得自己的改進非常棒,想貢獻自己的代碼併成爲原項目的contributor之一,於是你就需要發動一個pull request,請求原項目的負責人將你的代碼合併的原項目中。

另外,pull request中的內容可以很方便地被項目負責的所有人討論,並共同決策要不要把這些新的改變併入到項目中,這樣就可以防止某個貢獻者可能因爲考慮不全面,提交了不合理的改動,進而對項目造成損害。

轉載自:
https://blog.csdn.net/qq_32690999/article/details/77504033#%E5%9C%A8%E6%9C%AC%E5%9C%B0%E6%8F%90%E4%BA%A4%E6%96%B0%E7%9A%84%E4%BB%A3%E7%A0%81%E7%89%88%E6%9C%AC%E5%88%B0%E4%BB%93%E5%BA%93-push-local-changes-to-remote-repository

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章