TortoiseGit有很多功能選項可以在螢幕上點選。
善用工具,會很方便!
以下是幾個常用且基本的功能操作:
其中Pull、Push、Commit、CloneSwitch/Checkout和Show Log大家一定很熟悉吧!
Git Sync
Stash
Stash可以暫存變動。
假設今天你在目前的branch上的作業尚未完成,但突然有其他緊急的需求需要先調整,那原本的變動就可以使用Stash暫時存下來。
使用Stash Change將變動存起來。
等到緊急的需求完成後,再切回原本的branch。
使用Stash Pop取出最後暫存的變動,並會移除這個變動。
也可以使用Stash List,查看目前暫存的Change有哪些。
在Stash List中,選擇欲回復的暫存,點選右鍵,選擇Stash Apply就可以取出變動。
並且可以保留此變動在Stash List中。
接下來介紹一些進階操作,這些是我的親身經驗,也是遇過這些經驗,讓我更了解小烏龜的功能了。
解衝突
首先將最新的master Merge進有衝突的分支。
當有衝突時,Project的資料夾的圖示上會看到驚嘆號的符號,表示有衝突。
對資料夾點右鍵,選擇Resolved,會看到有衝突的檔案。
可以在檔案路徑下看到衝突檔,
直接開啟檔案的話會看到裡面有<<<<<<< HEAD與>>>>>>> master的衝突標示,
表示衝突的地方。
在這邊提供三種解衝突的方法:
1. 使用小烏龜解衝突工具將欲使用的程式貼在下方框,完成後再點Mark as resolved。
完成解衝突。
2. 使用VS開啟檔案直接修改
將衝突標記移除,留下需要的程式段,點存檔後,將此檔案選為resoleved。
完成解衝突。
3. 使用 WinMerge工具,協助比對檔案內容差異且可修改檔案
完成解衝突。
Cherry Pick
情境: Commit且Push完之後才發現切錯分支了
首先到git上找出該Commit,並且複製其完整的SHA。
將VS切到正確的分支上。
開啟CMD,並切到GIT的資料夾底下,下指令git cherry-pick <SHA>,將Commit 取到正確的分支。
Revert 回復已Push的Commit
情境: 已經Push的程式,但不需要此設置了。
以下方法並非復原Push,而是由git生成一個反向的程式,再Commit這個程式來達到回復的作用。
首先進到Show Log。
對欲回復的Commit點選右鍵,點選Revert change by this commit
資料夾點右鍵Commit,會看到兩個反向設定的檔案。
Commit後即完成回復的操作。
分享到此,這是我的一點點的工具操作的經驗分享,雖然可能都是些基本的操作,但希望幫助到有需要的人。
內容有錯誤的地方或是有任何建議的地方還請多多指教。
雖然主軸是教使用 TortoiseGit,但我還是提一下其它解衝突的做法供各位參考,畢竟 IDE 和 Editor 一直都有在進化哦~
1. Visual Studio 中的 Git 體驗
2. Using Version Control in VS Code