1. 程式人生 > >Git Gui for Windows的建庫、克隆(clone)、上傳(push)、下載(pull)、合併

Git Gui for Windows的建庫、克隆(clone)、上傳(push)、下載(pull)、合併

  關於linux上建庫等操作請看文章:

——————————————————————————————————————————————

    本教程將講述:gitk的Git Gui的部分常用功能和使用方法,包括:建庫、克隆(clone)、上傳(push)、下載(pull - fetch)、合併(pull - merge)。

——————————————————————————————————————————————

1、下載並安裝

    下載地址:

    安裝的話,新手的話,全部“下一步(next)”即可。

2、建庫(init)

    (如果你需要在本機計算機建庫並管理自己的程式碼,請看此節。)

    首先,新建一個資料夾,進入資料夾後點擊右鍵,選擇“Git Init Here”:


    執行完這個操作後,會發現此資料夾中,多了一個“.git”的隱藏資料夾,說明執行成功。

    然後,將原始碼copy到此目錄中(也可以直接在原始碼處直接init):


    做完這個操作後,再點選滑鼠右鍵後,點選“Git Commit Tool”,填寫完commit後,點選“提交”即可:


    最後,我們來看一下History,右鍵點選滑鼠選擇“Git History”:


    Enjoy~!\(^o^)/~


3、克隆(clone)

   (如果你從屬於某個專案下,需要將遠端的庫down到本機計算機,請看此節。)

    在需要建立庫的目錄下點選右鍵選擇:“Git Gui” :


    在彈出視窗點選“克隆已經版本庫”:


    重點來了,之所以將這步稱為重點,是因為網上大多數這一步的教程都錯誤的!

然後在Source Location中輸入完整的待克隆版本庫所在地址,在Target Directory中輸入或選擇本地的目錄(請注意此處會自動新建一個目錄,不需要提前建立!)

    我以ssh為例,

    以下第一幅圖是區域網內部為例的:


    上面是區域網案例的。

    下面是訪問外網IP的方式:


    外網訪問可以需要注意幾點:

    (1)、因為Gui的source location這裡其實不能更換ssh預設埠

,就算加上“:實際埠號”也會返回以下錯誤資訊:

————————————

ssh: connect to host 123.117.67.67 port 22: Bad file number
fatal: The remote end hung up unexpectedly

————————————

    (2)、不能使用~號來代替家目錄的路徑組成部分了,必須使用git遠端庫的絕對地址

    然後點選“克隆”,會提示輸入ssh對應的密碼:


    輸入密碼後,就會自動克隆了,這裡可能要輸入3次密碼,請一次次認真輸入吧。成功後會提示類似資訊:

——————————————————————————

From 192.168.31.130:~/jmcx
 * [new branch]      master     -> origin/master

——————————————————————————

    關閉掉當前視窗,會自動彈出git gui,然後可以在“版本庫”下選擇“瀏覽master上的檔案”檢視已下載檔案,也可以直接去剛才的Target Directory中檢視相關檔案。

4、上傳(push)

   (如果你從屬於某個專案下,已經clone了遠端的庫,需要將原生代碼修改後,上傳到遠端庫,請看此節。)

    前提條件需要滿足已經完成上面的“2、建庫”操作了。修改檔案後,在Git Gui下進行“快取改動”,然後輸入描述,點選“提交”,點選“上傳”,輸入密碼後回自動上傳。成功應該是:


5、下載(pull - fetch)

    右鍵在git庫所在目錄下開啟Git Gui,在上方找到“遠端(remote)”,點開之後選擇“從..獲取(fetch)”,自動展開後,點選“origin”:


    然後輸入密碼,點選OK,即可完成操作:


    這樣就OK了,不過這樣只是下載了,並沒有和你本地的程式碼合併,要合併的話,還需要做一個操作,請看下節。

6、合併(pull - merge)

    fetch之後,到Git Gui的“合併(merge)”下點選“本地合併”,一般情況下是預設條件直接點選“合併(merge)”即可:


————————————————————————————————————————————

    到這裡教程就告一段落了。