欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Git版本回退之reset和revert使用詳解

 更新時(shí)間:2025年04月03日 08:40:28   作者:chengliang666  
這篇文章主要介紹了Git版本回退之reset和revert使用,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Git版本回退之reset和revert

在開發(fā)過程中,可能會遇到過錯誤提交的情況。這種情況下,先不要著急,可以通過以下兩個(gè)命令來幫助你優(yōu)雅的實(shí)現(xiàn)版本回退。

git reset

假如現(xiàn)在有如下幾個(gè)提交:

其中:A 和 B 是正常提交,而 C 和 D 是錯誤提交?,F(xiàn)在想把 C 和 D 回退掉。而此時(shí)HEAD 指針指向 D 提交(5lk4er)。我們只需將 HEAD 指針移動到 B 提交(a0fvf8),即可。

這個(gè)時(shí)候就可以使用git reset 命令:

git reset --hard a0fvf8 // 將HEAD指針移動到B提交點(diǎn)
git push origin HEAD --force // 將提交強(qiáng)制推到遠(yuǎn)程倉庫

此時(shí)HEAD指針就會移動到 B 提交下:

采用這種方式回退代碼會使 HEAD 指針往回移動,從而會失去之后的提交信息且不可恢復(fù),所以要慎重使用。

git revert

git revert會創(chuàng)建一個(gè)新的版本,且HEAD指針會指向這個(gè)新生成的版本,原來錯誤提交信息也可以保留。

可以通過用git revert 命令逐個(gè)回退:

git revert 5lk4ergit revert 76sdeb

回退版本少的可以逐個(gè)回退,多的話就要批量回退了:

git revert OLDER_COMMIT^..NEWER_COMMIT

通過對比發(fā)現(xiàn),git reset 會失去后面的提交,而 git revert 是通過反做的方式重新創(chuàng)建一個(gè)新的提交,而保留原有的提交。所以應(yīng)盡量使用 git revert 命令來回退版本,慎重使用 git reset 命令。

補(bǔ)充

假如現(xiàn)在有三個(gè)提交,不巧的是那個(gè)錯誤的提交剛好位于中間

此時(shí)直接使用 git reset 命令將 HEAD 指針重置到 A 提交顯然是不行的,因?yàn)?C 提交是正確的,需要保留的。

正確的做法:先把 C 和 B 提交全部回退,再使用 cherry-pick 命令將 C 提交重新再生成一個(gè)新的提交 C’’,這樣就實(shí)現(xiàn)了將 B提交回退的需求。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • IDEA怎么切換Git分支的實(shí)現(xiàn)方法

    IDEA怎么切換Git分支的實(shí)現(xiàn)方法

    這篇文章主要介紹了IDEA怎么切換Git分支的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Git如何恢復(fù)到之前版本

    Git如何恢復(fù)到之前版本

    這篇文章主要介紹了Git如何恢復(fù)到之前版本,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 有關(guān)將idea的系統(tǒng)配置文件移到其它盤激活失效的問題

    有關(guān)將idea的系統(tǒng)配置文件移到其它盤激活失效的問題

    這篇文章給大家介紹win7系統(tǒng)盤空間不足,發(fā)現(xiàn)idea2019.3 占3.4G,將idea的系統(tǒng)配置文件移到其它盤,激活失效的解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-11-11
  • 詳解Visual Studio中Git的簡單使用

    詳解Visual Studio中Git的簡單使用

    這篇文章主要介紹了Visual Studio中Git的簡單使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Mac M1安裝Homebrew的方法步驟

    Mac M1安裝Homebrew的方法步驟

    這篇文章主要介紹了Mac M1安裝Homebrew的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Visual?Studio自定義項(xiàng)目模版

    Visual?Studio自定義項(xiàng)目模版

    這篇文章介紹了Visual?Studio自定義項(xiàng)目模版的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 用Meta標(biāo)簽控制360瀏覽器默認(rèn)極速模式打開自己的網(wǎng)站

    用Meta標(biāo)簽控制360瀏覽器默認(rèn)極速模式打開自己的網(wǎng)站

    最近用360瀏覽器訪問自己的網(wǎng)站,發(fā)現(xiàn)都是被優(yōu)先選用兼容模式打開,這使得網(wǎng)站很難看。為了讓360瀏覽器打開網(wǎng)站的時(shí)候優(yōu)先使用極速模式,而非兼容模式,找了一下官方論壇,發(fā)現(xiàn)了解決方案。
    2016-07-07
  • Azkaban報(bào)錯-azkaban.executor.ExecutorManagerException: No active executors found

    Azkaban報(bào)錯-azkaban.executor.ExecutorManagerException: No acti

    這篇文章主要介紹了Azkaban報(bào)錯-azkaban.executor.ExecutorManagerException: No active executors found,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2020-05-05
  • 關(guān)于postman上傳文件執(zhí)行成功而使用collection runner執(zhí)行失敗的問題

    關(guān)于postman上傳文件執(zhí)行成功而使用collection runner執(zhí)行失敗的問題

    這篇文章主要介紹了關(guān)于postman上傳文件執(zhí)行成功而使用collection runner執(zhí)行失敗的問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • ASP,PHP與.NET偽造HTTP-REFERER方法及防止偽造REFERER方法探討

    ASP,PHP與.NET偽造HTTP-REFERER方法及防止偽造REFERER方法探討

    ASP,PHP與.NET偽造HTTP-REFERER方法及防止偽造REFERER方法探討...
    2007-03-03

最新評論