有时候在一个分支的多次意义相近的 commit,会把整个提交历史搞得很混乱,此时可以将一部分的 commit 合并为一个 commit,以美化整个 commit 历史,可以使用 rebase 的方法来合并多次 commit。
举个例子。
这里有一个多次commit的git。
给三个文件(1,2,3)分别写入(‘1’,‘2’,‘3’)字符,然后分别commit,现在要把这三次commit合并。
操作过程如下:
:mkdir test
:cd test
:git init
已初始化空的 Git 仓库于 /Users/lurongming/test/test/.git/
:touch 1 2 3
:git add .
:git commit -m create
[master(根提交) bfebf58] create
3 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 1
create mode 100644 2
create mode 100644 3
:cat << EOF >> 1
> 1
> EOF
:git add 1
:git commit -m add 1
[master 175ff23] add
1 file changed, 1 insertion(+)
:cat << EOF >> 2
> 2
> EOF
:git add 2
:git commit -m add 2
[master 08789b6] add
1 file changed, 1 insertion(+)
:cat << EOF >> 3
> 3
> EOF
:git add 3
:git commit -m add 3
[master bb5bcd7] add
1 file changed, 1 insertion(+)
:git log
commit bb5bcd734663a7e7b34c3d6f3b9a388d63a90091 (HEAD -> master