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

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

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

一、git revert核心概念

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

  • 已推送到遠(yuǎn)程倉(cāng)庫(kù)的代碼(避免修改公共歷史)
  • 需要保留回退痕跡、便于追溯的場(chǎng)景
  • 團(tuán)隊(duì)協(xié)作中回退代碼(不影響他人工作)

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

步驟 1:查看提交歷史,找到要撤銷(xiāo)的 Commit ID

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

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

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

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

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

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

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

基礎(chǔ)用法(撤銷(xiāo)單個(gè)提交)

# 撤銷(xiāo)指定Commit ID的提交,會(huì)自動(dòng)打開(kāi)提交信息編輯器
git revert a87b9c0

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

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

快速提交(無(wú)需打開(kāi)編輯器)

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

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

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

步驟 3:處理 revert 過(guò)程中的沖突(常見(jiàn)場(chǎng)景)

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

查看沖突文件:

git status

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

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

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

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

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

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

git revert --abort

步驟 4:推送 revert 提交到遠(yuǎn)程倉(cāng)庫(kù)

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

git push origin main

三、進(jìn)階場(chǎng)景:撤銷(xiāo)多個(gè)提交/合并提交

1. 撤銷(xiāo)連續(xù)的多個(gè)提交

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

git revert 9b8a7s6..a87b9c0

2. 撤銷(xiāo)合并提交(需指定父節(jié)點(diǎn))

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

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

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

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

總結(jié)

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

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

相關(guān)文章

  • 搭建一個(gè)開(kāi)源項(xiàng)目?jī)煞N方式安裝git的詳細(xì)教程

    搭建一個(gè)開(kāi)源項(xiàng)目?jī)煞N方式安裝git的詳細(xì)教程

    這篇文章主要介紹了搭建一個(gè)開(kāi)源項(xiàng)目?jī)煞N方式安裝git,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Git上有更新而本地?zé)o更新時(shí)的解決過(guò)程

    Git上有更新而本地?zé)o更新時(shí)的解決過(guò)程

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

    Gitlab如何回滾到某個(gè)commit

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

    jenkins配置163郵箱的操作方法

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

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

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

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

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

    小項(xiàng)目中管理npm包版本的思路與方法

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

    Postman 使用指南及小技巧

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

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

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

    vscode終端輸出中文亂碼問(wèn)題解決圖文教程

    我們?cè)谑褂胿scode的時(shí)候常會(huì)遇見(jiàn)各種問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于vscode終端輸出中文亂碼問(wèn)題解決的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01

最新評(píng)論

九龙县| 临海市| 麻城市| 安岳县| 丘北县| 汶川县| 凯里市| 通辽市| 怀仁县| 外汇| 泰来县| 宁津县| 忻州市| 喜德县| 罗定市| 金塔县| 安阳市| 金寨县| 万荣县| 黄龙县| 油尖旺区| 苏尼特右旗| 柳林县| 文化| 哈密市| 仁化县| 班玛县| 芦溪县| 兴海县| 绥滨县| 济阳县| 横山县| 攀枝花市| 洪泽县| 政和县| 大荔县| 麻江县| 富顺县| 沅江市| 永靖县| 临沧市|