日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Git多个commit合并成一个【中间提交合并 尾部提交合并】

發(fā)布時間:2024/9/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Git多个commit合并成一个【中间提交合并 尾部提交合并】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

尾部提交合并

將msg B,msg C,msg D這3個commit合并成1個commit

1 查看當(dāng)前的提交信息

執(zhí)行命令:git log,可以查看當(dāng)前的一些提交信息 msg A,msg B,msg C,msg D。

2 合并多個commit

git rebase -i [startpoint] [endpoint] 其中-i的意思是--interactive,即彈出交互式的界面讓用戶編輯完成合并操作, [startpoint] [endpoint]則指定了一個編輯區(qū)間, 如果不指定[endpoint],則該區(qū)間的終點默認(rèn)是當(dāng)前分支HEAD所指向的commit (注:該區(qū)間指定的是一個前開后閉的區(qū)間)。

git rebase -i commit_id1 commit_id?

這里的commit_id是待合并的多個commit之前的那個commit ID,這里也就是msg A的commit ID。

在我這里也就是執(zhí)行命令:git rebase -i d1089921b2714211d1b1652cf0864e2c3f7101a4,

執(zhí)行完命令后就進(jìn)入到vi的編輯模式:

?

?上圖中,pick表示使用當(dāng)前的commit,squash表示這個commit會被合并到前一個commit。

我們這里需要將msg C,msg D合并到msg B中,因為msg B是最靠近msg A的,因此這里選擇將msg C,msg D合并到msg B中。

在鍵盤上敲i鍵進(jìn)入insert模式,然后將msg C,msg D前面的pick修改成squash:

修改完成后,按esc鍵,冒號,輸入wq進(jìn)行保存。

之后會繼續(xù)跳轉(zhuǎn)到commit message 的編輯界面:

將上圖中畫線的內(nèi)容刪掉或者注釋,然后寫一個新的commit信息作為這3個commit的log信息,

我這里的新的信息為:msg B, msg C, msg D,如下圖所示:

然后保存退出,就會跳轉(zhuǎn)到最初的命令界面:

?Successfully表示操作成功。

3、查看新的commit信息

執(zhí)行命令:git log,查看當(dāng)前的commit信息:成功合成了

?中間提交合并

和尾部的類似,就是不想合并的commit前面寫pick即可!

總結(jié)

以上是生活随笔為你收集整理的Git多个commit合并成一个【中间提交合并 尾部提交合并】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。