合并兩次commit的命令
git rebase -i HEAD~2(版本數(shù))
編輯步驟
1擎析、在vim編輯中--->"i"進(jìn)入編輯--->將主commit用"p"標(biāo)記盅弛,其余的用"s"標(biāo)記--->"Esc"退出編輯--->"Shift+Z+Z"保存編輯
2、在vim編輯中--->"i"進(jìn)入編輯--->"刪除不需要的log"--->"Esc"退出編輯--->"Shift+Z+Z"保存編輯
3叔锐、
小插曲
在第一步完成之后挪鹏,"Shift+Z+Z"保存編輯之時(shí),有幾率會(huì)眺不到下一步愉烙,如果此時(shí)你選擇在執(zhí)行一遍第一步的命令讨盒,就會(huì)出現(xiàn)如下截圖所示的提示:
這個(gè)時(shí)候不要慌,按著系統(tǒng)的提示走就好了步责。如果有同志像我一般進(jìn)行了一堆操作之后返顺,發(fā)現(xiàn)要rebase的commit不見了。蔓肯。小編現(xiàn)在就奉上恢復(fù)的步驟遂鹊,如下:
在Git rebase操作時(shí),存在沖突時(shí)蔗包,使用git rebase --abort處理后秉扑,結(jié)果發(fā)現(xiàn)commit的修改和記錄都沒有了。(使用git rebase --skip處理调限,也有導(dǎo)致commit消失不見得情況)舟陆,就是使用git log看不到。是不是我“抹掉”了那些commit的信息耻矮?
//1秦躯、使用:
git reflow
就可以顯示你抹掉的commit 的sha, version, message,找到你消失的commit裆装,然后可以使用這個(gè)‘消失的’commit重新建立一個(gè)branch.
//2踱承、使用:
git checkout -b branch-bak [commit-sha]
找回你“抹掉”的commit
參考文章:http://blog.csdn.net/whereismatrix/article/details/50611706