1. 程式人生 > 實用技巧 >TortoiseGit 安裝和使用基本教程

TortoiseGit 安裝和使用基本教程

前言   作為一個軟體開發人員,不可能不知道Git。Git作為一個複雜的版本控制系統,命令之多,即使經常使用,一些命令也記不住,一般只記住幾個常用的命令,不是所有使用Git命令列都是高效的。本教程不講Git命令,而是先讓你用上git,再去學習git。本教程應該稱作TortoiseGit入門指南。因為下面要藉助一個圖形化的軟體,TortoiseGit來操作git。用GUI(圖形介面)再談CLI(命令列),我相信這會更容易讓人接受。

TortoiseGit 簡介

TortoiseGit 簡稱 tgit, 中文名海龜Git。TortoiseGit是一個開放的GIT版本控制系統的源客戶端。

TortoiseGit 支援Winxp/vista/win7/Win10,提供有中文版支援。

TortoiseGit可以恢復您的檔案的舊版本,並研究如何以及合適改變了歷史資料,誰改變了它。下面教程針對使用TortoiseGit 的使用者。

下載安裝Git及Tortoisegit

  環境安裝,需要依次安裝以下:

   

  第1步:下載Git,下載地址:https://git-for-windows.github.io/

  

  Git 安裝過程不詳述,可參考:https://www.cnblogs.com/wj-1314/p/7993819.html

  第2步:下載安裝Tortoisegit及中文語言包(Tortoisegit及語言包下載,Tortoisegit安裝教程

  

Tortoisegit 配置

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

    

  第2步:在空白處點選滑鼠右鍵,選擇 --> TortoiseGit --> Settings,然後就可以看到配置介面:

  

  第3步:選中General,在右邊的 Language中選擇簡體中文(當然,你也可以繼續使用英文)。取消勾選升級檢查的複選框,可能還需要指定 git.exe 檔案的路徑,如 "D:\Program Files\Git\bin"。完成後,點選應用,確定關閉對話方塊。

  

  第4步:配置使用者,使用者作為你操作git的個人標識,進入設定,點選左邊的Git標籤,可以發現,右邊可以配置使用者的名字與Email資訊. 如下圖所示:

  

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

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

[credential]
  helper = store

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

  則當你使用 HTTPS URL 方式推送專案到GitHub等線上倉庫時,海龜git會記住你輸入的使用者名稱和密碼(這裡不是使用者的姓名和Email哦),可以避免每次提交都要輸入使用者名稱和密碼。(還有種方式,通過使用 SSH URL 來提交程式碼便可以一勞永逸了~~~)

  如果你編輯的是 本地 .git/config(L),其實這個翻譯為本地有點問題,應該叫區域性,也就是在某個專案下面設定,只對此專案有效,配置是一樣的。

Tortoisegit 使用示例

克隆一個專案(分別從github倉庫、自己搭建的gitblit倉庫上獲取

教程開始之前,補充一個知識點:

  本地倉庫和遠端git倉庫的連線方式有兩種:HTTPSSSH,很多時候都是直接使用 HTTPS URL 方式克隆專案到本地,當然也有有些人使用SSH URL克隆到本地。這兩種方式的主要區別在於:

  • HTTPS:使用起來不用配置,對初學者來說會比較方便,只要複製HTTPS URL然後到git Bash裡面直接用clone命令克隆到本地就好了,但是每次 fetch 和 push程式碼都需要輸入賬號和密碼,這也是HTTPS方式的麻煩之處。
  • SSH:使用SSH URL方式需要在克隆之前先配置和新增好SSH key,因此,如果你想要使用SSH url克隆的話,你必須是這個專案的擁有者。否則你是無法新增SSH key的,另外ssh預設是每次fetch和push程式碼都不需要輸入賬號和密碼,如果你想要每次都輸入賬號密碼才能進行fetch和push也可以另外進行設定。多數介紹Git的部落格裡面採用的都是https的方式作為案例,今天主要是記錄如何配置並在海龜git中使用SSH方式來提交和克隆程式碼。

  第1步:此處介紹通過SSH URL方式傳輸,使用之前需要先將本地的 SSH 公鑰配置到 Git 伺服器上。

  先檢視SSH Key。在C盤使用者主目錄使用者目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsaid_rsa.pub這兩個檔案,如果已經有了,可直接跳到第2步

    

   如果沒有上述檔案,則需要建立一個SSH Key,在任意資料夾下點選右鍵,選擇 Git GUI Here。在彈出的程式中選擇主選單的【Help】→【Show SSH Key】:

    

    如果沒有Key,則點選“Generate Key”生成一個SSH Key:

    

    把生成的全部內容拷出來。

    如果一切順利的話,可以在使用者主目錄裡找到.ssh目錄,裡面有id_rsaid_rsa.pub兩個檔案,這兩個就是SSH Key的祕鑰對,id_rsa是私鑰,不能洩露出去,id_rsa.pub是公鑰,可以放心地告訴任何人。(其他建立SSH Key方式:通過Shell命令方式建立

  第2步:把 SSH Key 填到Git 伺服器的配置中。

  GitHub伺服器:登陸GitHub,【頭像】→【Settings】→【SSH and GPG Keys】→【New SSH Key】,填入上一步的複製的SSHKey,然後【Add SSH Key】:

  

  Gitblit 伺服器(自己搭建 Git 伺服器,Gitblit的安裝教程請看這裡),登入Gitblit賬戶,在【頭像】→【使用者中心】→【SSH Keys】,填入上一步的複製的SSHKey,然後【新增】

  

  為什麼GitHub需要SSH Key呢?因為GitHub需要識別出你推送的提交確實是你推送的,而不是別人冒充的,而Git支援SSH協議,所以,GitHub只要知道了你的公鑰,就可以確認只有你自己才能推送。

  第3步:要克隆 GitHub 或 Gitblit上的專案,先要獲取對應遠端儲存庫的路徑(注意:此處使用 SSH URL 方式):

  GitHub倉庫:從 GitHub專案頁面上得到對應儲存庫的 giturl 路徑:

  

  Gitblit 倉庫:在儲存庫頁面這個位置得到儲存庫的 giturl 路徑:

  

  第4步:在本地資料夾的空白位置處,右擊滑鼠,在選單中選擇【Git克隆】:

  

  把git 路徑填寫到URL,並選擇本地檔案目錄,點選【確定】,彈出下載進度視窗。(伺服器端至少要有一個檔案,否則 pull的時候會報錯 fatal: Couldn't find remote ref HEAD)

  

克隆成功,則在資料夾上就可以看到角標標識:

    

  • Git檔案上角標符號說明:

檔案上的圖示,可以反映出當前檔案或者資料夾的狀態:

  1、正常的:綠色的對號

  2、被修改過的:紅色感嘆號

  3、新新增的:藍色的加號

  4、未受控的(無版本控制的):藍色的問號

  5、忽略不受控的:灰色的減號

  6、刪除的:紅色的x號

  7、有衝突的:黃色的感嘆號

將程式碼提交到伺服器

Git的使用類似TFS、SVN等原始碼或者檔案管理器,慣例的流程:

  

  第一步:改動,修改本地專案中的某些檔案,如修改README.md內容,還可以增加一些檔案, 如Hello.txt。

  第二步:提交本地,在本地專案的空白處點選滑鼠右鍵,選擇 【Git提交(C) -> "master"...】

  

  在彈出提交(Commit)對話方塊中完成提交說明資訊,和選擇需要提交的檔案,可根據需要新建分支,然後點選 【提交】 按鈕,將修改提交到本地倉庫:

  

  彈出提交進度視窗,提交成功後還需要“推送”將本地倉庫的修改推送到遠端倉庫

  

  第3步:同步拉取,在實際工作中,如果多人協作或者多個客戶端進行修改,那麼我們還要拉取別人推送到線上倉庫的內容,所以在推送之前需要先執行同步拉取(Pull ...)操作。

  在本地倉庫資料夾上【右擊滑鼠】→【Git同步】:

  

  開啟Git同步視窗(包括常規操作及日誌,同右擊選單快捷操作一樣),點選【拉取(P)】,將遠端分支拉取到本地:

  

  如果伺服器上的檔案沒有被修改過,就會直接提示已經更新到最新,那你就可以直接進行下一步“推送(H)”操作了:

  

  反之,如果伺服器上的檔案被修改過了(本地檔案修改前不是最新版本),就會提示衝突。先要解決衝突,然後再提交結果:

  

  需要注意的是,和使用TFS、SVN的習慣一樣,你在修改本地內容之前,最好先 拉取(pull)一下,減少衝突的可能。

  第四步:推送遠端,將提交到本地倉庫的修改推送到遠端倉庫,可以直接在提交成功後的提示視窗上點選【推送(H)...】,或者在Git同步視窗點選【推送(H)...】,滑鼠右擊的選單上也有相應的快捷操作:選擇 【TortoiseGit(T)】→【推送(H)...】

  彈出推送(push)對話方塊:

  

  一般保持預設,點選 “確定” 按鈕

  然後彈出推送進度介面,可能要求你輸入使用者名稱,點選【確定】,然後要求輸入密碼,密碼輸入正確後,顯示推送成功介面:

  

  如果你按照上一小節Tortoisegit 配置的設定操作,則輸入密碼以後會記住密碼。密碼會明文儲存在C:\Users\使用者名稱\.git-credentials這個檔案中,請小心儲存。

小結

以上就是海龜Git常規的操作流程,git的功能很強大,相應的命令也很多,使用圖形介面把Git的操作簡化了確是大大的方便。除了小海龜還有Source Tree,也是開源且好用的Git GUI管理工具,待得有空小編再整理一份Source Tree的操作教程。補充一點,因為很多專案是在VS上進行開發的,所以更多的情況,我們不會去使用資料夾上的操作,而是結合VS的git模組來進行操作,檢視VS2017中使用Git進行版本控制

推薦廖雪峰的Git教程