如果有多次提交,可以用Git命令行合并,
1.先查看當前的提交和commit ID
git log
如果要退出 直接輸入q
2. 復制要合并前一個的commitID
記住 這里是前一個 比如 上面的前一個為 避免污染友盟 commitID 為 fca027a42964d78988ec25f06d654114fe76224e
3. rebase當前的提交
git rebase -i commitID
比如 這里輸入的是 git rebase -i fca027a42964d78988ec25f06d654114fe76224e
立即進入Vim編輯器界面
4. 然后會進入Vim編輯器,此處應該有vim編輯器速通教程
Vim分為兩種模式,
命令模式
:輸入一些控制指令 如撤銷.退出.保存.等等
編輯模式
:可以編輯文本;
默認進入為命令模式,鍵入i,o,s,a
等即可進入編輯模式,按esc可退出編輯模式
刪除
-
x
刪除當前字符 -
dd
刪除當前行 d(elete) -
dw
刪除當前光標下的詞 d(elete)w(ord)
修改
-
i
在光標當前位置向前插入 i(nsert) -
I
在本行第一個字符前插入 -
a
在光標當前位置向后插入 a(fter) -
A
在本行末尾插入 -
o
向下插入一行 -
O
向上插入一行 -
:w
保存
-:q
退出 -
:wq
保存并退出 -
u
撤銷上一次修改 -
ctrl + r
重做
5. 修改commit
可以見到
上方未注釋的部分是填寫要執(zhí)行的指令
,
而下方注釋的部分則是指令的提示說明
。
指令部分中由前方的命令名稱帽哑、commit hash
和 commit message
組成粘室。
當前我們只要知道 pick
和 squash
這兩個命令即可徐裸。
pick 的意思是要會執(zhí)行這個 commit
squash 的意思是這個 commit 會被合并到前一個commit
,注意是 前
一個
我們將 c4e858b5 這個 commit 前方的命令改成 squash 或 s圣蝎,然后輸入:wq以保存并退出
6.最后刪除多余的commit記錄就好了
輸入
dd
可以刪除一行,輸入 i.o.s.a
等切換到編輯模式(底部有個insert
標志),修改文字,完成后esc
輸入:wq
保存即可重新
git log
一下 發(fā)現(xiàn)已經(jīng)修改完畢了
注意事項:
如果這個過程中有操作錯誤触幼,可以使用 git rebase --abort
來撤銷修改,回到?jīng)]有開始操作合并之前的狀態(tài)瞳抓。