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

Git恢復之前版本的三種方法之reset、revert、rebase詳解

 更新時間:2023年06月21日 11:09:19   作者:小鳥__老鷹  
這篇文章主要介紹了Git恢復之前版本的三種方法之reset、revert、rebase解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

一. 問題描述

在利用github實現(xiàn)多人合作程序開發(fā)的過程中,我們有時會出現(xiàn)錯誤提交的情況,此時我們希望能撤銷提交操作,讓程序回到提交前的樣子

本文總結(jié)了三種解決方法:

  • 回退(reset)
  • 反做(revert)
  • 回扣(rebase)

二. 解決方案

方法一:git reset

原理: git reset的作用是修改HEAD的位置,即將HEAD指向的位置改變?yōu)橹按嬖诘哪硞€版本

具體實現(xiàn):

  • 查看版本號 使用命令“git log”查看:
  • 使用“git reset --hard 目標版本號”命令將版本回退:
  • 再用“git log”查看版本信息,此時本地的HEAD已經(jīng)指向之前的版本:
  • 使用“git push -f”提交到遠程更改
  • 注意: 此時如果用“git push”會報錯,因為我們本地庫HEAD指向的版本比遠程庫的要舊

方法二:git revert

原理:

git revert是用于“反做”某一個版本,以達到撤銷該版本的修改的目的。

比如,我們commit了三個版本(版本一、版本二、 版本三),突然發(fā)現(xiàn)版本二不行(如:有bug),想要撤銷版本二,但又不想影響撤銷版本三的提交,就可以用 git revert 命令來反做版本二,生成新的版本四,這個版本四里會保留版本三的東西,但撤銷了版本二的東西。

適用場景

如果我們想撤銷之前的某一版本,但是又想保留該目標版本后面的版本,記錄下這整個版本變動流程,就可以用這種方法。

具體實現(xiàn):

1.查看 使用命令“git log”查看commit提交記錄

2.使用“git revert 版本號”反做,并使用“git commit -m 版本名”提交

3.使用“git push”推上遠程庫

方法三:git rebase -i (commit-id) 或 git rebase -i HEAD~(回退幾步)

1.查看 使用命令“git log”查看commit提交記錄

2.git rebase -i (commit-id) 選擇回退版本之前的一次commit版本

3.編輯文件命令行輸入 a,切換到編輯模式 將要刪除的commit之前的 pick 單詞改為drop

4.按下Esc(退出)鍵 命令行輸入 :wq 保存文件退出

5.使用“git push -f”提交到遠程更改

6.在使用 git rebase -i (commit-id) 過程中若撤銷回退可以使用 git rebase --abort 撤回

若在 git rebase后出現(xiàn)(xxx|REBASE-i)這種情況

原因:用git推送數(shù)據(jù)到倉庫的時候會出現(xiàn)推送失敗

解決方案: 使用git rebase --abort 代碼回退 回到git rebase之前的狀態(tài)

其他操作

一. 當代碼庫遠程遷移后,修改本地代碼關聯(lián)到遠程地址

1.遷移前先查看當前代碼庫的遠程地址

git remote -v 查看遠程地址

2.修改本地代碼關聯(lián)到的遠程地址

git remote set-url origin [遠程地址]

3.查看當前代碼庫的遠程地址是否修改成功

git remote -v 查看遠程地址

4.將本地的master分支推送到origin主機

①指定origin為默認主機 ,后面就可以不加任何參數(shù)使用git push

 git push -u origin master  

② 提交本地test分支 作為 遠程的master分支 ,不指定默認主機

git push origin test:master

總結(jié)

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

相關文章

  • git使用教程(最詳細、最傻瓜)

    git使用教程(最詳細、最傻瓜)

    這篇文章主要介紹了git使用教程(最詳細、最傻瓜),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • 網(wǎng)絡抓包工具wireshark入門教程詳解

    網(wǎng)絡抓包工具wireshark入門教程詳解

    Wireshark是一個網(wǎng)絡數(shù)據(jù)包分析軟件,功能非常強大,奈何他是英文版的,今天就為大家詳細介紹一下網(wǎng)絡抓包工具wireshark的使用教程
    2018-10-10
  • 在VScode中配置ROS環(huán)境的詳細過程

    在VScode中配置ROS環(huán)境的詳細過程

    這篇文章主要介紹了在VScode中配置ROS環(huán)境,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • git如何使用Sourcetree合并多次本地提交記錄

    git如何使用Sourcetree合并多次本地提交記錄

    這篇文章主要介紹了git如何使用Sourcetree合并多次本地提交記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 設計高可用和高負載的網(wǎng)站系統(tǒng)的幾個注意事項

    設計高可用和高負載的網(wǎng)站系統(tǒng)的幾個注意事項

    隨著網(wǎng)站的運營,用戶訪問量和數(shù)據(jù)存儲量會隨著時間發(fā)生幾何級變化,很快整個系統(tǒng)不堪重負,頻繁出現(xiàn)問題。
    2011-06-06
  • Eslint在Vscode中使用的一些相關技巧總結(jié)

    Eslint在Vscode中使用的一些相關技巧總結(jié)

    ESLint 是一個代碼規(guī)范和錯誤檢查工具,所有東西都是可以插拔的,這篇文章主要給大家介紹了關于Eslint在Vscode中使用的一些相關技巧總結(jié),文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • Windows系統(tǒng)下安裝GIt及GIT基本認識和配置

    Windows系統(tǒng)下安裝GIt及GIT基本認識和配置

    這篇文章主要介紹了Windows系統(tǒng)下安裝GIt及GIT基本認識和配置,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • 獲取目錄下所有文件名的代碼

    獲取目錄下所有文件名的代碼

    獲取目錄下所有文件名的代碼,需要的朋友可以參考下。
    2011-07-07
  • Postman如何導出接口的幾種方法

    Postman如何導出接口的幾種方法

    本文主要介紹了Postman如何導出接口的幾種方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 2022年最新Typora的破解方法

    2022年最新Typora的破解方法

    Typora是一款支持實時預覽的Markdown文本編輯器,支持即時渲染技術,這也是與其他Markdown編輯器最顯著的區(qū)別,今天通過本文給大家分享2022年最新Typora的破解方法,感興趣的朋友一起看看吧
    2022-09-09

最新評論

龙游县| 仙桃市| 山丹县| 晋宁县| 来凤县| 洪洞县| 无棣县| 财经| 鄂伦春自治旗| 峨边| 韶山市| 屏边| 莱州市| 琼海市| 定日县| 吉林省| 临桂县| 民和| 三河市| 厦门市| 邵阳县| 汶川县| 阳春市| 湄潭县| 雷州市| 文昌市| 钟山县| 松滋市| 来宾市| 武穴市| 南安市| 西华县| 炎陵县| 陆良县| 德化县| 丹东市| 古浪县| 康定县| 凤台县| 竹北市| 若尔盖县|