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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

git 提交_使用Git-Rebase合并多次提交

發布時間:2025/1/21 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 git 提交_使用Git-Rebase合并多次提交 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在平時的軟件開發中,我們每個team使用一個公共倉庫(這里說的是Git倉庫)。每當有一個新的需求,我們會拉出一個特性分支,然后在這個特性分支上做開發以及提交個人的代碼。

我有個習慣就是:為了確保代碼的安全性,每天下班前會把個人的本地倉庫代碼提交到公共倉庫。由于每天開發過程中由于各種原因會提交幾次代碼到個人倉庫,這樣就導致下班提交代碼到公共倉庫時,一次提交好幾個記錄,這樣就會是的公共倉庫有各種亂七八糟的所有增量修改歷史。為了避免太多的提交而造成版本控制的混亂,通常我們推薦將這些提交合并成一個。

使用rebase合并提交

想要合并n條提交記錄,有兩個方法:

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

git rebase -i HEAD~n

2.指定一個合并區間 startpoint 和 endpoint,注意:該區間指定的是一個前開后閉的區間,意思就是startpoint不參與合并

git rebase -i [startpoint] [endpoint]
  • -i 的意思是 --interactive,即彈出交互式的界面讓用戶編輯完成合并操作
  • startpointendpoint 指定了一個編輯區間
  • 如果不指定endpoint,則該區間的終點endpoint默認是當前分支HEAD所指向的提交

操作

1.執行 git log 查看提交歷史,接下來我們將三次提交合并為一個提交

2.執行 git rebase -i HEAD~3 ,彈出操作窗口

操作說明:

  • pick:保留該commit(縮寫:p)
  • reword:保留該commit,但我需要修改該commit的注釋(縮寫:r)
  • edit:保留該commit, 但我要停下來修改該提交(不僅僅修改注釋)(縮寫:e)
  • squash:將該commit和前一個commit合并(縮寫:s)
  • fixup:將該commit和前一個commit合并,但我不要保留該提交的注釋信息(縮寫:f)
  • exec:執行shell命令(縮寫:x)
  • drop:我要丟棄該commit(縮寫:d)

根據我們的需求,我們將commit內容編輯如下:

pick 85697ee This is first commit.squash ee461c1 This is second commit.squash 326e415 This is third commit.

上面的意思就是把第二次、第三次提交都合并到第一次提交上。

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

修改以后要記得敲下面的命令:

git add . git rebase --continue

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

git rebase --abort

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

我們將三次提交信息合并成一個提交信息

Commit feature branch!#This is first commit.#This is second commit.#This is third commit.

5.編輯完保存即可完成commit的合并了,我們執行一下 git log

然后提交到公共倉庫,有沒有感覺提交記錄清爽了許多,快來試試吧!

歡迎訪問我的博客:http://blog.hxpgxt.cn

關注公眾號:JAVA九點半課堂,這里有一批優秀的程序猿,加入我們,一起探討技術,共同進步!回復“資料”獲取 2T 行業最新資料!

總結

以上是生活随笔為你收集整理的git 提交_使用Git-Rebase合并多次提交的全部內容,希望文章能夠幫你解決所遇到的問題。

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