在使用git開發(fā)的時候經常會面臨一個常見的問題。多個commit 需要合并為一個完整的commit提交。

合并多個commit為一個完整的commit

我先基于develop主分支拉出一個功能分支(每個人和每個公司對分支的管理都不太一樣,這里不需要太糾結。)。這里的develop是開發(fā)主分支,所有的開發(fā)功能代碼都需要回歸到這個develop分支中去。

git branch -a –vv

1

develop_fixbug_imageprint 分支是我基于遠程develop分支拉出來的開發(fā)分支,我會基于這個分支來fix一些bug。我們分別看下develop、develop_fixbug_imageprint  commit log。

git checkout develop

git  log

2

git checkout develop_fixbug_imageprint

git log

3

develop_fixbug_imageprint的commit log是和devleop commit log 一模一樣。我們現(xiàn)在切換到develop_fixbug_imageprint進行一些操作。

添加一個1.txt文件,然后git add . ,git commit –m’add 1.txt’。

再添加一個2.txt 文件,然后git add . ,git commit –m’add 2.txt’。 
4

現(xiàn)在develop_fixbug_imageprint分支里有兩個commit。這兩個commit都是為了fix當前這個bug而做的兩個提交?,F(xiàn)在我們要合并代碼上主develop分支。總不能把這兩個commit直接提交上去,這里還好只有兩個commit,但是一般項目開發(fā)周期兩個星期的話,你起碼有十幾個commit。那這樣提交上去之后就很難管理和跟蹤。(我以前都是這樣干的,現(xiàn)在發(fā)現(xiàn)這樣不好跟蹤管理。)

那么我們如何完成這個合并commit尼,就需要用到git rebase