亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

git之reflog命令的使用

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

寫(xiě)在前面

本文一起看下reflog命令。

1:場(chǎng)景描述

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

2:純命令操作

2.1:初始化git倉(cāng)庫(kù)

$ 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 來(lái)恢復(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ù)代碼之后的提交通過(guò)git log就看不到了,但是git reflog其實(shí)是可以看到的,因?yàn)樵撁羁吹降氖沁M(jìn)行過(guò)的所有的操作,對(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倉(cāng)庫(kù)

git init 。

3.2:使用sourcetree打開(kāi)倉(cāng)庫(kù)

然后選擇倉(cāng)庫(kù)的文件夾即可。

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

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沒(méi)有提交對(duì)應(yīng)的UI操作。

寫(xiě)在后面

參考文章列表

【學(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)文章

  • 適合后臺(tái)管理系統(tǒng)開(kāi)發(fā)的12個(gè)前端框架(小結(jié))

    適合后臺(tái)管理系統(tǒng)開(kāi)發(fā)的12個(gè)前端框架(小結(jié))

    當(dāng)你寫(xiě)項(xiàng)目的時(shí)候,如何快速的完成一個(gè)項(xiàng)目的搭建,這個(gè)時(shí)候就需要借助到一些模板了,前端開(kāi)發(fā)的一個(gè)好處就是,各類(lèi)UI模板都是相當(dāng)?shù)凝R全的,本文就介紹幾個(gè)前端框架,感興趣的可以了解一下
    2021-06-06
  • ToDesk安裝與使用教程(全平臺(tái)支持)

    ToDesk安裝與使用教程(全平臺(tái)支持)

    這篇文章主要介紹了ToDesk安裝與使用教程,ToDesk非常好用而且是全平臺(tái)支持,喜歡的朋友跟隨小編一起看看吧
    2024-08-08
  • Hive?判斷某個(gè)字段長(zhǎng)度的示例代碼

    Hive?判斷某個(gè)字段長(zhǎng)度的示例代碼

    hive是基于Hadoop的一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具,用來(lái)進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)化、加載,這是一種可以存儲(chǔ)、查詢(xún)和分析存儲(chǔ)在Hadoop中的大規(guī)模數(shù)據(jù)的機(jī)制,這篇文章主要介紹了Hive?判斷某個(gè)字段長(zhǎng)度,需要的朋友可以參考下
    2024-08-08
  • RPC、RMI、SOAP的區(qū)別詳解

    RPC、RMI、SOAP的區(qū)別詳解

    這篇文章主要介紹了RPC、RMI、SOAP的區(qū)別詳解,本文還同時(shí)講解了RPC、SOAP、WSDL的關(guān)系,需要的朋友可以參考下
    2015-07-07
  • HTTP狀態(tài)代碼集合 方便查詢(xún)

    HTTP狀態(tài)代碼集合 方便查詢(xún)

    HTTP協(xié)議是基于請(qǐng)求/響應(yīng)范式的。一個(gè)客戶(hù)機(jī)與服務(wù)器建立連接后,發(fā)送一個(gè)請(qǐng)求給服務(wù)器,請(qǐng)求方式的格式為,統(tǒng)一資源標(biāo)識(shí)符、協(xié)議版本號(hào),后邊是MIME信息包括請(qǐng)求修飾符、客戶(hù)機(jī)信息和可能的內(nèi)容。
    2011-02-02
  • 聯(lián)邦學(xué)習(xí)論文解讀分散數(shù)據(jù)的深層網(wǎng)絡(luò)通信

    聯(lián)邦學(xué)習(xí)論文解讀分散數(shù)據(jù)的深層網(wǎng)絡(luò)通信

    這篇文章主要為大家介紹了論文解讀分散數(shù)據(jù)的深層網(wǎng)絡(luò)通信有效學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Ollama整合open-webui的步驟及訪(fǎng)問(wèn)

    Ollama整合open-webui的步驟及訪(fǎng)問(wèn)

    這篇文章主要介紹了如何通過(guò)源碼方式安裝OpenWebUI,并詳細(xì)說(shuō)明了安裝步驟、環(huán)境要求以及第一次使用時(shí)的賬號(hào)注冊(cè)和模型選擇過(guò)程,需要的朋友可以參考下
    2025-02-02
  • 合成大西瓜開(kāi)發(fā)源碼手把手教你運(yùn)行和部署大西瓜游戲項(xiàng)目(附源碼)

    合成大西瓜開(kāi)發(fā)源碼手把手教你運(yùn)行和部署大西瓜游戲項(xiàng)目(附源碼)

    這篇文章主要介紹了合成大西瓜開(kāi)發(fā)源碼手把手教你運(yùn)行和部署大西瓜游戲項(xiàng)目(附源碼),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • 淺談音視頻 pts dts基本概念及理解

    淺談音視頻 pts dts基本概念及理解

    本文主要介紹了音視頻 pts dts基本概念及理解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 深入理解TCP協(xié)議與UDP協(xié)議的原理及區(qū)別

    深入理解TCP協(xié)議與UDP協(xié)議的原理及區(qū)別

    網(wǎng)絡(luò)編程有三個(gè)要素,分別是IP地址、端口號(hào)和通信協(xié)議,那本文主要講述的是TCP與UDP這兩種通信協(xié)議,以及編程的實(shí)現(xiàn),感興趣的可以了解一下
    2021-06-06

最新評(píng)論