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

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

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

一. 問題描述

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

本文總結了三種解決方法:

  • 回退(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

總結

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

相關文章

最新評論