首頁 > 軟體

詳解git rebase,讓你走上git大神之路

2020-11-02 10:00:25

在之前的文章當中我們介紹了git merge的用法,明白了通過git merge我們可以合併兩個分支的改動。這樣我們就可以很方便地進行協同開發了,每個人都在自己的分支下開發程式碼,開發完畢之後再一起合併到master分支。通過這種方式可以保證大家的程式碼不會陷入混亂,但是這樣有一個隱含的缺陷。

缺陷就是我們之前說過的,當我們合併兩個沒有上下游關係的分支時,git會自動替我們生成一個merge commit,記錄此次的merge。記錄merge操作沒有什麼問題,問題是如果我們遇到特殊情況需要反覆merge的時候,就會導致commit的提交記錄非常混亂,你根本分不清什麼是什麼。尤其是當你merge了一個巨大改動的分支之後,你的git log基本上就不用看了,肯定全都是其他人的各種亂七八糟你也不清楚的提交記錄。

為了解決這個頭疼的問題,我們就需要用到rebase操作。

rebase簡介

rebase是一個非常強大的操作,可以實現一些神奇的功能,但是強大也意味著有隱患,因為如果使用得不好可能給團隊的程式碼造成非常大的問題,成為團隊當中被無情指責的背鍋俠。所以我們在使用之前一定要先了解清楚原理,之後再小心謹慎地使用,否則很有可能會產生問題。

首先說說rebase的功能,rebase的功能說白了可以提取我們在A分支上的改動,然後應用在B分支的程式碼上,完成類似於修補程式的功能。我這麼說非常空洞,我從learngitbranching.js.org網站上擷取了一些圖,會清晰一些。另外推薦一下這個網站,當中有一些圖形化的演示和實操功能, 我們可以在上面練習我們學到的git命令加深印象。但是它也有一個缺點,就是一些細節介紹得比較少,這也是我沒有一開始的時候就推薦給大家的原因。


IT145.com E-mail:sddin#qq.com