最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Git實現(xiàn)revert的完整操作步驟

 更新時間:2026年01月27日 09:01:11   作者:極地星光  
文章介紹了git revert命令的使用,包括其核心概念、完整操作步驟、進階場景以及與git reset的區(qū)別,git revert是一種安全的代碼回退方式,適用于已推送的代碼,通過生成新的提交來抵消目標(biāo)提交的修改,保留歷史記錄并便于追溯,需要的朋友可以參考下

一、git revert核心概念

git revert最安全的代碼回退方式,它不會刪除/修改歷史提交記錄,而是生成一個新的提交,用這個新提交來“抵消”目標(biāo)提交的所有修改。這種方式適合:

  • 已推送到遠程倉庫的代碼(避免修改公共歷史)
  • 需要保留回退痕跡、便于追溯的場景
  • 團隊協(xié)作中回退代碼(不影響他人工作)

二、git revert完整操作步驟(以你的機械臂場景為例)

步驟 1:查看提交歷史,找到要撤銷的 Commit ID

先通過日志找到需要撤銷的目標(biāo)提交的哈希值(前7位即可):

# 查看簡潔的提交歷史(推薦)
git log --oneline

# 查看詳細的提交歷史(包含作者、時間、完整Commit ID)
git log

示例輸出(--oneline 模式):

a87b9c0 (HEAD -> main) 優(yōu)化機械臂J3角度判斷邏輯
5d6e7f8 初始化機械臂笛卡爾坐標(biāo)獲取
9b8a7s6 新增手型切換基礎(chǔ)邏輯

假設(shè)你要撤銷的是 a87b9c0 這個“優(yōu)化J3角度判斷”的提交。

步驟 2:執(zhí)行g(shù)it revert撤銷目標(biāo)提交

基礎(chǔ)用法(撤銷單個提交)

# 撤銷指定Commit ID的提交,會自動打開提交信息編輯器
git revert a87b9c0

執(zhí)行后 Git 會自動生成一個默認的 revert 提交信息(比如 Revert "優(yōu)化機械臂J3角度判斷邏輯"),你可以按之前講的規(guī)范修改(補充原因、關(guān)聯(lián)工單等),修改完成后:

  • Esc 退出編輯模式
  • 輸入 :wq 保存并退出(vim編輯器操作)

快速提交(無需打開編輯器)

如果不想手動編輯提交信息,可直接用 -m 參數(shù)指定信息:

git revert a87b9c0 -m "revert: 撤銷機械臂J3角度判斷邏輯的修改 (#123)

原因:J3角度范圍判斷覆蓋不全,導(dǎo)致手型誤判
撤銷的提交ID:a87b9c0"

步驟 3:處理 revert 過程中的沖突(常見場景)

如果目標(biāo)提交的修改和當(dāng)前代碼有沖突(比如你在撤銷前又改了同一行代碼),Git 會提示沖突,此時:

查看沖突文件:

git status

沖突文件會被標(biāo)記為 both modified。

打開沖突文件,手動解決沖突:
沖突處會顯示如下格式,你需要保留正確的代碼,刪除沖突標(biāo)記:

<<<<<<< HEAD
# 當(dāng)前分支的代碼
elbow_x = shoulder_x + 10  # 現(xiàn)有邏輯
=======
# 被撤銷提交的代碼
elbow_x = shoulder_x + 5   # 要撤銷的邏輯
>>>>>>> a87b9c0 (優(yōu)化機械臂J3角度判斷邏輯)

解決沖突后,標(biāo)記文件為已解決,并完成 revert:

# 標(biāo)記沖突文件已解決
git add 沖突文件名.py
# 完成 revert 提交
git revert --continue

如果想放棄這次 revert,執(zhí)行:

git revert --abort

步驟 4:推送 revert 提交到遠程倉庫

撤銷完成后,將新生成的 revert 提交推送到遠程(比如 main 分支):

git push origin main

三、進階場景:撤銷多個提交/合并提交

1. 撤銷連續(xù)的多個提交

比如要撤銷 a87b9c09b8a7s6 之間的所有提交(注意順序:舊提交在前,新提交在后):

git revert 9b8a7s6..a87b9c0

2. 撤銷合并提交(需指定父節(jié)點)

如果要撤銷的是合并分支的提交,需要加 -m 參數(shù)指定父節(jié)點(通常用 1 表示主分支):

# 撤銷合并提交(Commit ID為合并提交的ID)
git revert 合并提交ID -m 1

四、git revertvsgit reset(新手必區(qū)分)

特性git revertgit reset
歷史記錄保留所有提交(新增revert提交)刪除指定提交后的所有記錄
適用場景已推送的遠程代碼本地未推送的代碼
團隊協(xié)作安全(不影響他人)危險(會覆蓋遠程歷史)
可追溯性強(能看到撤銷過程)弱(歷史記錄被刪除)

總結(jié)

  1. git revert 是安全的回退方式,核心是生成新提交抵消舊修改,適合已推送的代碼。
  2. 核心操作流程:查看Commit ID → 執(zhí)行g(shù)it revert → 處理沖突(如有)→ 推送遠程。
  3. 提交信息要包含「操作類型+撤銷原因+目標(biāo)Commit ID」,便于團隊追溯。

到此這篇關(guān)于使用Git實現(xiàn)revert的完整操作步驟的文章就介紹到這了,更多相關(guān)Git實現(xiàn)revert步驟內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 搭建一個開源項目兩種方式安裝git的詳細教程

    搭建一個開源項目兩種方式安裝git的詳細教程

    這篇文章主要介紹了搭建一個開源項目兩種方式安裝git,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Git上有更新而本地?zé)o更新時的解決過程

    Git上有更新而本地?zé)o更新時的解決過程

    文章解決分支名不匹配導(dǎo)致的推送沖突問題,建議先拉取遠程更新,手動解決沖突并提交,若需強制推送需謹慎,可能覆蓋遠程內(nèi)容
    2025-09-09
  • Gitlab如何回滾到某個commit

    Gitlab如何回滾到某個commit

    文章介紹了如何通過命令行使用Git回滾到特定版本的詳細步驟,包括查看提交記錄、定位到特定的commit ID、使用git reset回滾本地文件,并最終強制提交到遠程分支
    2025-12-12
  • jenkins配置163郵箱的操作方法

    jenkins配置163郵箱的操作方法

    Jenkins用Java語言編寫,可在Tomcat等流行的servlet容器中運行,也可獨立運行,這篇文章主要介紹了jenkins配置163郵箱的步驟,需要的朋友可以參考下
    2022-01-01
  • Web 開發(fā)中遇到的UTF-8編碼的問題總結(jié)

    Web 開發(fā)中遇到的UTF-8編碼的問題總結(jié)

    一個網(wǎng)站如果需要國際化,就需要將編碼從GB2312轉(zhuǎn)成UTF-8,其中有很多的問題需要注意,如果沒有轉(zhuǎn)換徹底,將會有很多的編碼問題出現(xiàn)!
    2010-02-02
  • 頁面制作統(tǒng)一的頭尾的方法(asp+js)

    頁面制作統(tǒng)一的頭尾的方法(asp+js)

    有時候我們需要統(tǒng)一頁面的頭尾,如果不是獨立,每次要修改文件,就要所有的模板頁面都要修改增加麻煩,所以,獨立頭尾調(diào)用,就只需要修改兩個頁面就可以了。
    2009-04-04
  • 小項目中管理npm包版本的思路與方法

    小項目中管理npm包版本的思路與方法

    這篇文章主要給大家介紹了關(guān)于小項目中該如何管理npm包版本的思路與方法,npm包版本管理是非常重要的,文章通過示例代碼介紹的很詳細,需要的朋友可以參考下
    2021-06-06
  • Postman 使用指南及小技巧

    Postman 使用指南及小技巧

    Postman 簡化了構(gòu)建 API 的每個步驟,并簡化了協(xié)作,這樣就可以更快地創(chuàng)建 API。接下來通過本文給大家介紹Postman 使用指南及小技巧,感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • git rebase -i 修改歷史提交的方法

    git rebase -i 修改歷史提交的方法

    這篇文章主要介紹了git rebase -i 修改歷史提交的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • vscode終端輸出中文亂碼問題解決圖文教程

    vscode終端輸出中文亂碼問題解決圖文教程

    我們在使用vscode的時候常會遇見各種問題,下面這篇文章主要給大家介紹了關(guān)于vscode終端輸出中文亂碼問題解決的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-01-01

最新評論

琼中| 当雄县| 丰顺县| 佳木斯市| 和田县| 鹤岗市| 齐齐哈尔市| 江城| 巍山| 大理市| 雷山县| 县级市| 漾濞| 惠东县| 进贤县| 夹江县| 图们市| 隆德县| 沭阳县| 科技| 铁力市| 元谋县| 祁门县| 雷山县| 阿瓦提县| 江津市| 葫芦岛市| 阳朔县| 巴楚县| 兰州市| 宿松县| 盱眙县| 东至县| 江源县| 旌德县| 家居| 焦作市| 绍兴县| 馆陶县| 阳西县| 宜丰县|