TortoiseGit 使用教程

該文章轉自:https://note.youdao.com/share/?id=dc4d97ed11598f4cc27db60ce87dde5a&type=note#/( 大師兄的Git說明教程
 
前言
  做爲一個軟件開發人員,不可能不知道Git。Git做爲一個複雜的版本控制系統,命令之多,即便常用,一些命令也記不住,通常只記住幾個經常使用的命令,不是全部使用Git命令行都是高效的。本教程不講Git命令,而是先讓你用上git,再去學習git。本教程應該稱做TortoiseGit入門指南。由於下面要藉助一個圖形化的軟件,TortoiseGit來操做git。用GUI(圖形界面)再談CLI(命令行),我相信這會更容易讓人接受。

TortoiseGit 簡介

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

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

TortoiseGit 能夠恢復您的文件的舊版本,並研究如何以及合適改變了歷史數據,誰改變了它。下面教程針對使用TortoiseGit 的用戶。github

下載安裝Git及Tortoisegit

  環境安裝,須要依次安裝如下:windows

   

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

  

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

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

  

 

Tortoisegit 配置工具

  第1步: 首先,請選定一個存放Git項目的目錄,這樣方便管理. 如: E:\Git,而後在資源管理器中打開:學習

    

  第2步: 在空白處點擊鼠標右鍵,選擇 --> TortoiseGit --> Settings,而後就能夠看到配置界面:fetch

  

  第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倉庫的鏈接方式有兩種:HTTPS SSH,不少時候都是直接使用 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文件上角標符號說明:

文件上的圖標,能夠反映出當前文件或者文件夾的狀態:

  一、正常的:綠色的對號 

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

  三、新添加的:藍色的加號

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

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

  六、刪除的:紅色的x號 

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

 

將代碼提交到服務器

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教程

相關文章
相關標籤/搜索