使用Git Rebase合併多次提交

2022-08-24 19:21:08 字數 1664 閱讀 8407

在平時的軟體開發中,我們每個team使用乙個公共倉庫(這裡說的是git倉庫)。每當有乙個新的需求,我們會拉出乙個特性分支,然後在這個特性分支上做開發以及提交個人的**。

我有個習慣就是:為了確保**的安全性,每天下班前會把個人的本地倉庫**提交到公共倉庫。由於每天開發過程中由於各種原因會提交幾次**到個人倉庫,這樣就導致下班提交**到公共倉庫時,一次提交好幾個記錄,這樣就會是的公共倉庫有各種亂七八糟的所有增量修改歷史。為了避免太多的提交而造成版本控制的混亂,通常我們推薦將這些提交合併成乙個。

關於git的常用命令,推薦翻閱git常用命令

想要合併n條提交記錄,有兩個方法:

從head版本開始往過去數n個版本

git rebase -i head~n
指定乙個合併區間startpointendpoint,注意:該區間指定的是乙個前開後閉的區間,意思就是startpoint不參與合併

git rebase -i  [startpoint]  [endpoint]
執行git log檢視提交歷史,接下來我們將三次提交合併為乙個提交

執行git rebase -i head~3,彈出操作視窗

操作說明:

根據我們的需求,我們將commit內容編輯如下:

pick 85697ee this is first commit.

squash ee461c1 this is second commit.

squash 326e415 this is third commit.

上面的意思就是把第二次、第三次提交都合併到第一次提交上。

然後儲存退出,git會壓縮提交歷史。如果有衝突,需要修改,修改的時候要注意,保留最新的歷史,不然我們的修改就丟棄了

修改以後要記得敲下面的命令:

git add .  

git rebase --continue

如果你想放棄這次壓縮的話,執行以下命令:

git rebase --abort
如果沒有衝突,或者衝突已經解決,則會出現如下的編輯視窗

我們將三次提交資訊合併成乙個提交資訊

commit feature branch!

#this is first commit.

#this is second commit.

#this is third commit.

編輯完儲存即可完成commit的合併了,我們執行一下git log然後提交到公共倉庫,有沒有感覺提交記錄清爽了許多,快來試試吧!

使用Git Rebase合併多次提交

在平時的軟體開發中,我們每個team使用乙個公共倉庫 這裡說的是git倉庫 每當有乙個新的需求,我們會拉出乙個特性分支,然後在這個特性分支上做開發以及提交個人的 我有個習慣就是 為了確保 的安全性,每天下班前會把個人的本地倉庫 提交到公共倉庫。由於每天開發過程中由於各種原因會提交幾次 到個人倉庫,這...

git rebase 的使用(一)合併多次提交記錄

有時候編寫乙個功能或者需求會提交多次commit,而有些commit只是修改了一些無關緊要的東西。而過多的commit記錄是不利於codereview,並且當遇到特殊情況需要做版本回滾的時候,過多的commit記錄也會帶來問題。這個時候就需要把一些commit記錄進行合併。讓每個commit都是乙個...

git rebase合併提交

git rebase的作用是合併提交。為什麼需要合併提交呢?假設我們在開發乙個功能,在這期間做了n次的commit,才最終完美實現了該功能。如果直接將這些commit直接提交到master,會使提交資訊顯得過多過雜,同時以後也不好確定哪些提交是對應這個功能的。所以將以上的n個commit合併成乙個,...