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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

合并多个commit记录

發布時間:2023/12/31 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 合并多个commit记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景:

(1) 在自己的開發分支上開發一個功能提交多次,有多個commit,想將多次提交的commit合并成一個commit,方便代碼管理。 例如將最近四次提交的commit合并成一個

(2) 將dev分支或者很多零散的分支merge到一個公共release分支里。


方式一:

使用 git merge --squash

舉例:

開發分支: develop_test
上線分支: release_brand

在線上分支release_brand上面合并develop_test,使用命令 git merge --squash develop_test ;


方式二:

使用 git rebase

1、查看提交歷史,git log

首先你要知道自己想合并的是哪幾個提交,可以使用git log命令來查看提交歷史,假如最近4條歷史如下:

commit 3ca6ec340edc66df13423f36f52919dfa3......commit 1b4056686d1b494a5c86757f9eaed844......commit 53f244ac8730d33b353bee3b24210b07......commit 3a4226b4a0b6fa68783b07f1cee7b688.......

歷史記錄是按照時間排序的,時間近的排在前面。

2、git rebase

想要合并1-3條,有兩個方法

1.從HEAD版本開始往過去數3個版本

git rebase -i HEAD~3

2.指名要合并的版本之前的版本號

git rebase -i 3a4226b

請注意3a4226b這個版本是不參與合并的,可以把它當做一個坐標

3、選取要合并的提交

1.執行了rebase命令之后,會彈出一個窗口,頭幾行如下:

pick 3ca6ec3 '注釋**********'pick 1b40566 '注釋*********'pick 53f244a '注釋**********'

2.將pick改為squash或者s,之后保存并關閉文本編輯窗口即可。改完之后文本內容如下:

pick 3ca6ec3 '注釋**********'s 1b40566 '注釋*********'s 53f244a '注釋**********'

3.然后保存退出,Git會壓縮提交歷史,如果有沖突,需要修改,修改的時候要注意,保留最新的歷史,不然我們的修改就丟棄了。修改以后要記得敲下面的命令:

git add . git rebase --continue

如果你想放棄這次壓縮的話,執行以下命令:

git rebase --abort

4.如果沒有沖突,或者沖突已經解決,則會出現如下的編輯窗口:

# This is a combination of 4 commits. #The first commit’s message is: 注釋...... # The 2nd commit’s message is: 注釋...... # The 3rd commit’s message is: 注釋...... # Please enter the commit message for your changes. Lines starting # with ‘#’ will be ignored, and an empty message aborts the commit.

5.輸入wq保存并推出, 再次輸入git log查看 commit 歷史信息,你會發現這兩個 commit 已經合并了。

總結

以上是生活随笔為你收集整理的合并多个commit记录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。