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、配置右鍵菜單.。在設定對話框中,點選左邊的"Context Menu",設定常用的右鍵菜單。樓主比較常用的是如下選項:
5、設定記住密碼
!!!密碼會明文儲存在 C:\Users\Administrator\.git-credentials 這種檔案中, 請小心使用.
進入設定, 點選左邊的Git标簽.可以發現,右邊可以配置使用者的名字與Email資訊. 如下圖所示:
因為目前還沒有本地項目,是以 “Edit local .git/config(L)” 按鈕處于灰色不可用狀态,如果在某個本地Git項目下打開配置對話框,那麼這個按鈕就可用,然後就可以編輯此項目的一些屬性。
點選 “Edit global .git/config(O)”按鈕,會使用記事本打開全局配置檔案,在全局配置檔案中,在後面加上下面的内容:
完成後儲存,關閉記事本,确定即可。
當你推送項目到GitHub等線上倉庫時,會記住你輸入的使用者名和密碼
3、 示例
克隆一個項目(樓主是從github上擷取)
在工作目錄下,如D:\test,空白處右鍵,選擇: Git clone,則會彈出克隆對話框,如下圖所示:
在URL中填寫項目的通路位址,如:https://github.com/xuwenjin/xwj-test.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. 檢視日志
右鍵選擇Git Show Log(這個菜單可以通過上面的說的配置出來)。在日志中,可以通過日期、檔案名、送出人等等過濾查詢。
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即可
會發現,此時test2.txt檔案消失了,如下圖:
9、解決沖突(略)
為人:謙遜、激情、博學、審問、慎思、明辨、 笃行
學問:紙上得來終覺淺,絕知此事要躬行
為事:工欲善其事,必先利其器。
轉載請标注出處!