1. 程式人生 > >Git客戶端(TortoiseGit)基本使用詳解

Git客戶端(TortoiseGit)基本使用詳解

Git客戶端(TortoiseGit)基本使用詳解

 

1、 環境安裝

Git最新版下載地址:https://gitforwindows.org/

 

TortoiseGit,Git客戶端,32/64位最新版及對應的語言包下載地址:https://tortoisegit.org/download/

 

安裝的方法,一直下一步就行,具體做法省略。

 

2、 配置

 1. 首先,請選定一個存放Git專案的目錄,這樣管理方便. 如: D:\test , 然後在資源管理器中開啟.

 2. 在空白處點選滑鼠右鍵,可以看到右鍵選單中多了幾個選項。選擇 --> TortoiseGit --> Settings, 然後就可以看到配置介面,如下圖所示:

  

 3. 選中General,,Language中選擇中文.。不勾選自動升級的複選框,可能還需要指定 Git.exe 檔案的路徑,如

        "D:\DevlopPrograms\Git\bin"。完成後,點選應用,確定關閉對話方塊(樓主比較習慣英文)。

   4. 再次點選滑鼠右鍵,可以看到彈出選單中已經變成中文.。原來的 Settings 變成 設定,Clone 變為 克隆。

   5. 配置右鍵選單.。在設定對話方塊中,點選左邊的"Context Menu",設定常用的右鍵選單。樓主比較常用的是如下選項:

  

   6.設定記住密碼

  !!!!密碼會明文儲存在 C:\Users\Administrator\.git-credentials 這種檔案中, 請小心使用.

  進入設定, 點選左邊的Git標籤.可以發現,右邊可以配置使用者的名字與Email資訊. 如下圖所示:

    

   因為當前還沒有本地專案,所以 “Edit local .git/config(L)” 按鈕處於灰色不可用狀態,如果在某個本地Git專案下開啟配置對話方塊,那麼這個按鈕就可用,然後就可以編輯此專案的一些屬性。

   點選 “Edit global .git/config(O)”按鈕,會使用記事本開啟全域性配置檔案,在全域性配置檔案中,在後面加上下面的內容:

     [credential]
         helper = store

  完成後儲存,關閉記事本,確定即可。

     當你推送專案到GitHub等線上倉庫時,會記住你輸入的使用者名稱和密碼

 

3、 示例

  1. 克隆一個專案(樓主是從github上獲取)

    在工作目錄下,如D:\test,空白處右鍵,選擇: Git clone,則會彈出克隆對話方塊,如下圖所示:

     

    在URL中填寫專案的訪問地址,如:https://github.com/xuwenjin/xwj_repo.git

    根據專案大小,時間會不一樣. 克隆完成後,如果沒有錯誤,會給出提示:

     

    進入克隆下的資料夾中,如D:\test\xwj_repo,空白處右鍵,彈出如下選單:

     

    其中,Git Pull是從遠端拉取最新的程式碼,Git Fetch是從遠端拉取最新的分支,Git Push是將本地倉庫的程式碼提交到遠端

    Git Commit ->”master”,將原生代碼提交到本地版本庫(預設的分支是master)。

 

   2. 將原生代碼提交到本地倉庫

    建立一個檔案,如test1.txt, 然後提交(commit)到本地版本庫(這個操作可以在離線狀態操作)

     

    2.1 選擇Git Commit ->”master”,彈出下圖:

       

    2.2 填寫提交備註message(不填寫不允許提交),勾選需要提交的檔案,點選commit,即可將原生代碼提交到本地版本庫。

         出現如下彈框,表示提交成功

       

      其中,提交時,會發現上圖中的Status有幾種值:

         Unknown:新增的檔案,也不在版本庫

         Added:新增的檔案,在版本庫

         Modified:檔案修改,在版本庫

           Missing:檔案被刪除,在版本庫

 

   3. 檢視日誌

    在日誌中,可以通過日期、檔名、提交人等等過濾查詢。

      

    3.1 通過日誌,可以很直觀的看到提交相關記錄。比如提交人、提交時間、提交了哪些檔案等等。這些資訊便於以後進行檔案對比或

                    者版本回滾(後面將會介紹)點選test1.txt,可以看到本次提交,對test1檔案進行了哪些操作:

       

     至於怎麼去看這些顏色表示什麼意思,可以去百度一下,這裡不做介紹

 

     4.  將程式碼推送(push)到遠端。這裡是github

     右鍵空白處,選擇Git Push,出現如下彈框:

       

     這裡可以看到是本地哪個版本庫提交到遠端。至此,檔案的整個提交過程就完成了

 

 5.  分支

  發現問題:你程式碼寫了很多,執行OK;但是突然想加個新功能進去,這個功能你也不知道能否正常執行,而且修改過程中,除了新加程式碼和檔案進去,還會修改以前的程式碼。要是萬一失敗,修改回來也是一種很麻煩的事情。這種時候很多人就用備份方式。來看看git是怎麼優雅的處理這個問題的。

  git的處理方式:當你想加一個新功能進去的時候,你可以新建一個分支,例如名字叫newbranch,然後在分支中把新功能加上去,如果OK,將程式碼合併到master分支上,如果新功能失敗,切換回master分支上來,在newbranch寫的程式碼,又全看不到了。

   5.1 新建一個分支,右鍵-->TortoiseGit-->Create Branch

       

    右鍵,你會發現當前的分支為你新建的newbranch分支了

       

  5.2 接下來,就開心新增你的功能,比如我們在test1.txt檔案中新增一行文字,同時新增一個檔案test2.txt

     

  5.3 提交我們的程式碼到newbranch分支的本地倉庫,參考之前的2.2

  5.4 突然發現該功能有漏洞,想回到之前的master分支,怎麼辦呢?

    右鍵-->TortoiseGit-->Switch/Checkout,選擇master即可。如下圖:

     

  5.5 空白處右鍵,會發現已經切換到master分支了。此時發現test2.txt並沒有帶過來,再來看看test1.txt檔案是否回到了從前呢?

     

    結果顯示,無論是修改還是新增,都沒有影響master分支上的檔案,這就是分支的作用。

 

 6. 分支合併

    如果此時發現newbranch分支上的功能是有效的,希望能合併到master,又該怎麼操作呢?

    PS:在合併分支前,一定要確認newbranch分支上的程式碼全部提交到本地版本庫了

    右鍵-->TortoiseGit-->Merge,選擇被合併的分支,即newbranch。如下圖

       

    6.1 點選Ok按鈕,會出現下圖彈框。彈框中會列出被合併的檔案。如下圖所示:

       

    6.2 我們發現test2.txt檔案被合併過來了,開啟test1檔案,發現內容正好是在newbranch分支上修改的內容。

       至此,分支合併完成

 

  7.  拉取(pull)遠端最新的修改內容

    此時,我們團隊還有另一個成員B,他需要獲取我最新修改的內容,該怎麼操作呢?

    首先B切換到跟我同一分支,然後右鍵-->Git Pull,點選確認即可,就可將我修改的內容拉取到他的本地版本庫

 

  8. 版本回滾

    8.1先檢視日誌,確定想回滾到哪個版本

       

    8.2 比如想回滾到建立test1.txt檔案前,則點選該步操作所對應的message之前的那一個日誌(add spring demo)

      然後右鍵-->Reset “master” to this…,表示將當前master分支上的檔案回滾到這個版本,如下圖

       

    8.3 選擇之後,彈出如下彈框,在Reset Type下選擇Hard:Reset working…..,點選Ok即可

       

           會發現,此時test1.txt跟test2.txt兩個檔案都消失了,如下圖: