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

git之reflog命令的使用

 更新時(shí)間:2023年08月23日 09:42:14   作者:一戶董  
git reflog 命令可以用來查看本地倉庫的所有操作記錄,包括所有分支的提交、合并、重置等操作,本文就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下

寫在前面

本文一起看下reflog命令。

1:場(chǎng)景描述

在開發(fā)的過程中,因?yàn)樾薷腻e(cuò)誤,想要通過git reset命令恢復(fù)到之前的某個(gè)版本,但是選擇提交ID錯(cuò)誤,導(dǎo)致多恢復(fù)了一個(gè)版本,假定,該版本對(duì)應(yīng)的內(nèi)容還沒有push到遠(yuǎn)端倉庫,并且該提交十分重要,可能決定了一個(gè)將要倒閉的公司是否能夠繼續(xù) 茍延殘喘 ,怎么辦?肯定要恢復(fù)回來,git reflog就可以幫你輕松搞定。本文從純命令操作方式和sourcetree界面操作方式來進(jìn)行模擬。

2:純命令操作

2.1:初始化git倉庫

$ pwd
/d/test/testreflog
JHP+Administrator@jhp MINGW64 /d/test/testreflog
$ git init
Initialized empty Git repository in D:/test/testreflog/.git/

2.2:執(zhí)行3次提交

添加a.txt并提交

$ touch a.txt
JHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ echo "a" > a.txt
JHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ git add a.txt
warning: LF will be replaced by CRLF in a.txt.
The file will have its original line endings in your working directory
JHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ git commit -m'add a.txt'
[master (root-commit) 0c70790] add a.txt
 1 file changed, 1 insertion(+)
 create mode 100644 a.txt

添加b.txt并提交

$ touch b.txt
JHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ echo 'b' > b.txt
JHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ git add b.txt
warning: LF will be replaced by CRLF in b.txt.
The file will have its original line endings in your working directory
JHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ git commit -m'add b.txt'
[master b68fdbe] add b.txt
 1 file changed, 1 insertion(+)
 create mode 100644 b.txt

添加c.txt并提交

$ touch c.txt
JHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ echo 'c' > c.txt
JHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ git add c.txt
warning: LF will be replaced by CRLF in c.txt.
The file will have its original line endings in your working directory
JHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ git commit -m'add c.txt'
[master 1b263f8] add c.txt
 1 file changed, 1 insertion(+)
 create mode 100644 c.txt

查看提交日志

$ git log -9 --pretty=oneline
1b263f8227fbb8050cee5bde301c11fa6a4d3467 (HEAD -> master) add c.txt
b68fdbe04611a68e16f538f1efb63727c1fc5e64 add b.txt
0c70790e7d7b54a582c81defe27a49b47df1e6db add a.txt

模擬錯(cuò)誤操作

假定 add c.txt 是我們誤操作,因此我們需要執(zhí)行命令 git reset --hard b68fdbe046 來恢復(fù)到其之前的一個(gè)版本,但是操作失誤,一直還原到了 add a.txt 對(duì)應(yīng)的提交,如下:

$ git reset --hard 0c70790e7d7b
HEAD is now at 0c70790 add a.txt
JHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ git log -n9 --pretty=oneline
0c70790e7d7b54a582c81defe27a49b47df1e6db (HEAD -> master) add a.txt

在準(zhǔn)備工作中,當(dāng)我們執(zhí)行 git reset --hard 后,被恢復(fù)代碼之后的提交通過git log就看不到了,但是git reflog其實(shí)是可以看到的,因?yàn)樵撁羁吹降氖沁M(jìn)行過的所有的操作,對(duì)比如下圖:

如下:

$ git reflog -n9 --pretty=oneline
0c70790 (HEAD -> master) HEAD@{0}: reset: moving to 0c70790e7d7b
1b263f8 HEAD@{1}: reset: moving to HEAD
1b263f8 HEAD@{2}: commit: add c.txt
b68fdbe HEAD@{3}: commit: add b.txt
0c70790 (HEAD -> master) HEAD@{4}: commit (initial): add a.txt

注意這里的 HEAD@{n} 表示head指針在n次移動(dòng)之前的情況,比如我們要恢復(fù)到 add b.txt 的提交,只需要執(zhí)行如下操作即可:

$ git reset --hard HEAD@{3}
HEAD is now at b68fdbe add b.txt
JHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ git log -n3 --pretty=oneline
b68fdbe04611a68e16f538f1efb63727c1fc5e64 (HEAD -> master) add b.txt
0c70790e7d7b54a582c81defe27a49b47df1e6db add a.txt

3:sourcetree界面操作

3.1:初始化git倉庫

git init 。

3.2:使用sourcetree打開倉庫

然后選擇倉庫的文件夾即可。

此時(shí)因?yàn)槲覀兪裁匆矝]有做,所以信息都是空的。

3.3:創(chuàng)建文件a.txt并提交

$ touch a.txt
JHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ echo "a" > a.txt

暫存并提交:

接著同樣的方式,添加b.txt,c.txt,最終如下圖:

3.4:模擬錯(cuò)誤操作

假定 add c.txt是我們誤操作,因此我們需要恢復(fù)到其之前的一個(gè)版本,但是操作失誤,一直還原到了add a.txt對(duì)應(yīng)的提交,如下:

3.5:恢復(fù)操作

同命令行方式。這里sourcetree沒有提交對(duì)應(yīng)的UI操作。

寫在后面

參考文章列表

【學(xué)了就忘】Git操作 — 51.git reflog命令 。

git救急之reflog恢復(fù)錯(cuò)誤的提交 。

到此這篇關(guān)于git之reflog命令的使用的文章就介紹到這了,更多相關(guān)git reflog命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 科學(xué)知識(shí):二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制轉(zhuǎn)換

    科學(xué)知識(shí):二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制轉(zhuǎn)換

    這篇文章主要介紹了科學(xué)知識(shí):二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制轉(zhuǎn)換,本文只介紹一些理論知識(shí),需要的朋友可以參考下
    2015-05-05
  • Git 標(biāo)簽使用詳解

    Git 標(biāo)簽使用詳解

    這篇文章主要介紹了Git 標(biāo)簽使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 深入解析HetuEngine實(shí)現(xiàn)On Yarn原理

    深入解析HetuEngine實(shí)現(xiàn)On Yarn原理

    這篇文章主要介紹了HetuEngine實(shí)現(xiàn)On Yarn原理,介紹了HetuEngine On Yarn的原理,其實(shí)現(xiàn)主要是借助了Yarn Service提供的能力,感興趣的朋友一起通過本文學(xué)習(xí)下
    2022-01-01
  • chatGPT本地部署、運(yùn)行和接口調(diào)用的詳細(xì)步驟

    chatGPT本地部署、運(yùn)行和接口調(diào)用的詳細(xì)步驟

    這篇文章主要介紹了chatGPT本地部署、運(yùn)行和接口調(diào)用的詳細(xì)步驟,文中給大家介紹了cookie?信息寫入?config.json的三種方式,每種方式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • 用asp與php實(shí)現(xiàn)百度ping服務(wù)的代碼

    用asp與php實(shí)現(xiàn)百度ping服務(wù)的代碼

    分別用asp與php實(shí)現(xiàn)百度ping服務(wù)的代碼,需要的朋友可以參考下
    2012-02-02
  • 詳解HBase表的數(shù)據(jù)模型

    詳解HBase表的數(shù)據(jù)模型

    HBase 是一種列存儲(chǔ)模式與鍵值對(duì)存儲(chǔ)模式結(jié)合的 NoSQL 數(shù)據(jù)庫,它具有靈活的數(shù)據(jù)模型,不僅可以基于鍵進(jìn)行快速查詢,還可以實(shí)現(xiàn)基于值、列名等的全文遍歷和檢索,下面給大家介紹HBase表的數(shù)據(jù)模型,感興趣的朋友一起看看吧
    2022-05-05
  • Xshell?Plus?6?下載及安裝使用圖文教程(解壓即可使用)

    Xshell?Plus?6?下載及安裝使用圖文教程(解壓即可使用)

    本文分享一波?Xshell?Plus?6?破解版,親測(cè)有效,因?yàn)槭蔷G色無安裝版本的,下載下來后,解壓即可使用,就可以直接使用了,對(duì)Xshell?Plus?6?破解下載圖文教程感興趣的朋友一起看看吧
    2022-07-07
  • IEEE Spectrum 2014編程語言排行榜

    IEEE Spectrum 2014編程語言排行榜

    這篇文章主要介紹了IEEE Spectrum 2014編程語言排行榜,這不是TIOBE編程語言排行榜哦,需要的朋友可以參考下
    2014-08-08
  • 深入剖析網(wǎng)關(guān)gateway原理

    深入剖析網(wǎng)關(guān)gateway原理

    這篇文章主要介紹了網(wǎng)關(guān)gateway,本文從網(wǎng)關(guān)的背景開始講起,一次論述網(wǎng)關(guān)的依賴,負(fù)載均衡,網(wǎng)關(guān)的選型等等進(jìn)行深入的剖細(xì),讓大家可以更深一步的了解
    2021-08-08
  • vscode安裝擴(kuò)展Volar失敗的解決方案

    vscode安裝擴(kuò)展Volar失敗的解決方案

    volar擴(kuò)展的時(shí)候,遇到了安裝失敗的問題,這篇文章主要給大家介紹了關(guān)于vscode安裝擴(kuò)展Volar失敗的解決方案,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05

最新評(píng)論

铁岭市| 十堰市| 望奎县| 永济市| 嘉鱼县| 同德县| 珲春市| 肥城市| 前郭尔| 海阳市| 达尔| 都兰县| 玛纳斯县| 罗江县| 万载县| 格尔木市| 阿坝县| 渝中区| 大悟县| 赤壁市| 南和县| 苍梧县| 鄯善县| 黄骅市| 江永县| 涡阳县| 西平县| 土默特右旗| 成都市| 申扎县| 嘉定区| 神木县| 资溪县| 玉山县| 安义县| 新龙县| 罗城| 湖南省| 台北县| 禄劝| 昌吉市|