在平時的軟件開發中,咱們每一個team使用一個公共倉庫(這裏說的是Git倉庫)。每當有一個新的需求,咱們會拉出一個特性分支,而後在這個特性分支上作開發以及提交我的的代碼。git
我有個習慣就是:爲了確保代碼的安全性,天天下班前會把我的的本地倉庫代碼提交到公共倉庫。因爲天天開發過程當中因爲各類緣由會提交幾回代碼到我的倉庫,這樣就致使下班提交代碼到公共倉庫時,一次提交好幾個記錄,這樣就會是的公共倉庫有各類亂七八糟的全部增量修改歷史。爲了不太多的提交而形成版本控制的混亂,一般咱們推薦將這些提交合併成一個。shell
關於Git的經常使用命令,推薦翻閱Git經常使用命令安全
想要合併n條提交記錄,有兩個方法:spa
1.從HEAD版本開始往過去數 n
個版本3d
git rebase -i HEAD~n
2.指定一個合併區間 startpoint
和 endpoint
,注意:該區間指定的是一個前開後閉的區間,意思就是startpoint不參與合併版本控制
git rebase -i [startpoint] [endpoint]
--interactive
,即彈出交互式的界面讓用戶編輯完成合並操做1.執行 git log
查看提交歷史,接下來咱們將三次提交合併爲一個提交code
2.執行 git rebase -i HEAD~3
,彈出操做窗口blog
操做說明:開發
根據咱們的需求,咱們將commit內容編輯以下:rem
pick 85697ee This is first commit. squash ee461c1 This is second commit. squash 326e415 This is third commit.
上面的意思就是把第二次、第三次提交都合併到第一次提交上。
3.而後保存退出,Git會壓縮提交歷史。若是有衝突,須要修改,修改的時候要注意,保留最新的歷史,否則咱們的修改就丟棄了
修改之後要記得敲下面的命令:
git add . git rebase --continue
若是你想放棄此次壓縮的話,執行如下命令:
git rebase --abort
4.若是沒有衝突,或者衝突已經解決,則會出現以下的編輯窗口
咱們將三次提交信息合併成一個提交信息
Commit feature branch! #This is first commit. #This is second commit. #This is third commit.
5.編輯完保存便可完成commit的合併了,咱們執行一下 git log
而後提交到公共倉庫,有沒有感受提交記錄清爽了許多,快來試試吧!
關注公衆號:JAVA九點半課堂,這裏有一批優秀的程序猿,加入咱們,一塊兒探討技術,共同進步!回覆「資料」獲取 2T 行業最新資料!