当前位置: 首页 > news >正文

免版权图片网站汽车配件网上商城

免版权图片网站,汽车配件网上商城,企业网站意思,wordpress自动写文章写在前面 本文一起看下reflog命令。 1:场景描述 在开发的过程中,因为修改错误,想要通过git reset命令恢复到之前的某个版本,但是选择提交ID错误,导致多恢复了一个版本,假定,该版本对应的内容…

写在前面

本文一起看下reflog命令。

1:场景描述

在开发的过程中,因为修改错误,想要通过git reset命令恢复到之前的某个版本,但是选择提交ID错误,导致多恢复了一个版本,假定,该版本对应的内容还没有push到远端仓库,并且该提交十分重要,可能决定了一个将要倒闭的公司是否能够继续苟延残喘,怎么办?肯定要恢复回来,git reflog就可以帮你轻松搞定。本文从纯命令操作方式和sourcetree界面操作方式来进行模拟。

2:纯命令操作

2.1:初始化git仓库

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

2.2:执行3次提交

  • 添加a.txt并提交
$ touch a.txtJHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ echo "a" > a.txtJHP+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 directoryJHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ git commit -m'add a.txt'
[master (root-commit) 0c70790] add a.txt1 file changed, 1 insertion(+)create mode 100644 a.txt
  • 添加b.txt并提交
$ touch b.txtJHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ echo 'b' > b.txtJHP+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 directoryJHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ git commit -m'add b.txt'
[master b68fdbe] add b.txt1 file changed, 1 insertion(+)create mode 100644 b.txt
  • 添加c.txt并提交
$ touch c.txtJHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ echo 'c' > c.txtJHP+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 directoryJHP+Administrator@jhp MINGW64 /d/test/testreflog (master)
$ git commit -m'add c.txt'
[master 1b263f8] add c.txt1 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
  • 模拟错误操作
    假定add c.txt是我们误操作,因此我们需要执行命令git reset --hard b68fdbe046来恢复到其之前的一个版本,但是操作失误,一直还原到了add a.txt对应的提交,如下:
$ 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

在准备工作中,当我们执行git reset --hard后,被恢复代码之后的提交通过git log就看不到了,但是git reflog其实是可以看到的,因为该命令看到的是进行过的所有的操作,对比如下图:
在这里插入图片描述

如下:

$ 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次移动之前的情况,比如我们要恢复到add b.txt的提交,只需要执行如下操作即可:

$ git reset --hard HEAD@{3}
HEAD is now at b68fdbe add b.txtJHP+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打开仓库

在这里插入图片描述

然后选择仓库的文件夹即可。
在这里插入图片描述

此时因为我们什么也没有做,所以信息都是空的。

3.3:创建文件a.txt并提交

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

暂存并提交:

在这里插入图片描述

在这里插入图片描述

接着同样的方式,添加b.txt,c.txt,最终如下图:
在这里插入图片描述

3.4:模拟错误操作

假定add c.txt是我们误操作,因此我们需要恢复到其之前的一个版本,但是操作失误,一直还原到了add a.txt对应的提交,如下:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.5:恢复操作

同命令行方式。这里sourcetree没有提交对应的UI操作。

写在后面

参考文章列表

【学了就忘】Git操作 — 51.git reflog命令 。

git救急之reflog恢复错误的提交 。

http://www.yayakq.cn/news/888272/

相关文章:

  • 如何做360搜索网站做服装辅料一般什么网站找客户
  • 贵阳网站开发多少钱北京制卡厂家做卡公司北京制卡网站_北京制卡_北京 去114网
  • 网站地图怎么弄男男做受网站
  • 化妆品网站建设目标九江浔阳网站建设
  • 做网站待遇小程序怎么制作自己的小程序
  • 阿里云购买网站空间成crm软件
  • 河北建设集团园林网站免费网站代理
  • 网站更换域名 seosharepoint做门户网站
  • 品牌网站建设 d磐石网络向国外卖货的电商平台
  • html音乐网页设计模板优化关键词规则
  • 展示产品的网站 个人备案还是企业已有域名 搭建网站
  • 怎么做网站教程 用的工具成都设计院工资
  • 成都手机微信网站建设报价php网站开发案例论文
  • 文化传媒可以做网站吗珠海做快照网站电话
  • 备案网站域名和主机关系ps做字幕模板下载网站
  • 线上海报设计网站建造网站 备案
  • 怎么做网站推广知乎国产做性直播视频网站
  • 深圳专业网站设计制作wordpress 判断pc访问
  • 湖北中英双语网站建设网站建设所需要的东西
  • 做酒的网站有哪些dw是做网站的软件吗
  • 郑州哪家公司做网站wordpress wiki 模版
  • 昆仑万维做网站微信开放平台登陆
  • 外链发布网站网站点击
  • 餐饮网站建设策划书网络公司免费做网站
  • 建设银行网站预约取款网站建设费用首选网络
  • 电子商务网站建设实训心得saas网站建设
  • 湖北网站建设搭建宿迁网站建设介绍公司
  • 怀化火车站网站青岛公司网站设计
  • 企业产品展示网站源码在元典公司做网站有合同吗
  • WordPress单页添加Jsseo下载站