[小菜一碟] 在 TortoiseGit 用 merge --squash 做部分合併(Partial Merge)

在使用 Git 做版本控制的過程當中,無論是個人開發,還是團隊開發,偶爾會面臨到我們另外開分支所開發的實驗性功能或除錯結果,需要合併回主線的時候,有很大的可能我們只會需要合併其中幾個檔案而已,git merge --squash xxx 可以協助我們完成這件事,不過我一直都是使用 TortoiseGit,我們就來看看 TortoiseGit 怎麼做 Squash Merge?

顧名思義,Squash Merge 直接翻譯就叫「壓縮合併」,是把分支上的所有 Commit 壓縮成一個 Commit 做合併,很適合用在暫時性質、除錯性質的分支合併上,假定我有一個儲存庫,在主線上有 function-a.txtfunction-b.txt 兩個檔案,但是有一天我們發現 function-a.txt 裡面某個地方有 bug,於是我建立一個 bug-a 分支開始除錯,除完錯之後合併為主線,在除錯的過程中,由於 function-a.txt 有相依 function-b.txt,所以為了可以順利除錯,在 function-b.txt 的內容也有些許調整。

在 TortoiseGit 裡面,我們只要在合併的視窗中,將 Squash 打勾就可以做 Squash Merge。

過程當中如果有衝突也會跳出來提醒

好了之後,我們還需要 Commit 才算完成,我們可以在這個時候把我們不想要合併的檔案 Revert。

最後執行 Commit,大功告成。

參考資料

相關資源

C# 指南
ASP.NET 教學
ASP.NET MVC 指引
Azure SQL Database 教學
SQL Server 教學
Xamarin.Forms 教學