git log 看一眼
假設(shè)是如下情況
commit 3333
Author: xxx
Date: Fri Dec 6 10:50:50 2019 +0800
?this is the third commit.
change-id:33333333
commit? 2222
Author: xxx
Date: Fri Dec 6 10:40:40 2019 +0800
?this is the second commit.
change-id:22222222
commit? 1111
Author: xxx
Date: Fri Dec 6 10:30:30 2019 +0800
this is the first commit.
change-id:1111111
此時(shí)我要把2和3合成一個(gè)
輸入? git rebase -i 1111
意思是,rebase commit號(hào)1111后面的commit
這時(shí)候會(huì)進(jìn)入一個(gè)模式,跟著改就行了
我的電腦是ctrl+o進(jìn)入輸入模式
第一個(gè)文件,它會(huì)出現(xiàn)一個(gè)頭兩行是
pick 3333 .........
pick 2222.........
這樣的文件,改第二行為 squash 2222 (直接s 2222也可以,其實(shí)底下有提示s 全寫(xiě)squash啥的)
保存,即可進(jìn)入下一個(gè)文件,不會(huì)就ctrl+x退出,退出前會(huì)問(wèn)要不要保存,輸入Y,就保存并退出了
進(jìn)入下一個(gè)文件,會(huì)有四行信息
commit 3333
change-id :33333333
commit 2222
change-id:22222222
把這四行注釋?zhuān)ㄇ懊婕?),然后輸入自己要的commit信息
例如
commit 2233
我一開(kāi)始還保留了change-id,導(dǎo)致報(bào)錯(cuò),這個(gè)不需要,它會(huì)自己重新生成一個(gè)
然后push到遠(yuǎn)程就可以啦?。。。。。。。。。?!???????(ˊ?ˋ*)???????撒花
做完結(jié)果還有個(gè)更簡(jiǎn)單的
git commit --amend
這個(gè)直接就可以修改commit信息,操作流程跟剛才的第二大步是一樣的。