git--恢复修改的文件(代码片段)

hustcser hustcser     2023-03-05     164

关键词:

对于恢复修改的文件,就是将文件从仓库中拉到本地工作区,即 仓库区 ----> 暂存区 ----> 工作区。

对于修改的文件有两种情况:

  • 只是修改了文件,没有任何 git 操作
  • 修改了文件,并提交到暂存区(即编辑之后,gitaddgitadd但没有 git commit -m ....)
  • 修改了文件,并提交到仓库区(即编辑之后,gitaddgitadd和 git commit -m ....)

情况I:

只是修改了文件,没有任何 git 操作,直接一个命令就可回退:

$ git checkout -- aaa.txt # aaa.txt为文件名

情况II:

修改了文件,并提交到暂存区(即编辑之后,gitaddgitadd但没有 git commit -m ....)

$ git log --oneline    # 可以省略
$ git reset HEAD    # 回退到当前版本
$ git checkout -- aaa.txt    # aaa.txt为文件名

 情况III:

修改了文件,并提交到仓库区(即编辑之后,gitaddgitadd和 git commit -m ....)

 

$ git log --oneline    # 可以省略
$ git reset HEAD^    # 回退到上一个版本
$ git checkout -- aaa.txt    # aaa.txt为文件名

 

【注1】情况II 和 情况III 只有回退的版本不一样,

对于 情况II,并没有 $ git commit,仓库版本也就不会更新和记录,所以回退的是当前版本

技术图片

对于情况III,一旦 $ git commit,仓库版本就会更新并记录,所以要回退的也就是上一个版本

技术图片

【注2】$ git reset 版本号    ----  将暂缓区回退到指定版本

根据 $ git log --oneline 显示的版本号(下图黄色的字),可以回退到任何一个版本,也可通过 HEAD 来指定版本(下图红色的字)。

以旧图举例:

技术图片

git常用命令使用大全(代码片段)

...本库中删除文件,但不删除文件gitreset<file>#从暂存区恢复到工作文件gitreset--.#从暂存区恢复到工作文件gitreset--hard#恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改gitci<file>gitci.gitci-a#将gitadd,gitrm和gitci等操... 查看详情

git常用命令大全(代码片段)

...本库中删除文件,但不删除文件gitreset<file>#从暂存区恢复到工作文件gitreset--.#从暂存区恢复到工作文件gitreset--hard#恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改gitci<file>gitci.gitci-a#将gitadd,gitrm和gitci等操... 查看详情

git如何恢复文件(代码片段)

一背景介绍我在idea上修改了文件,进行add,commit,都成功了。最后进行push,一般情况下,默认自己会成功(没有想到失败了),想进入到其他分支merge一下。结果,切换分支后,idea报push失败。退回分支后,... 查看详情

git常用命令使用大全(代码片段)

...中删除文件,但不删除文件gitreset<file>#从暂存区恢复到工作文件gitreset--.#从暂存区恢复到工作文件gitreset--hard#恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改gitci<file>gitci.gitci-a#将gitadd,gitrm和gitci... 查看详情

git学习(代码片段)

...添加文件//如果想撤销掉此次添加,可以使用如下命令,恢复到添加前的状态gitresetHEAD<File>//如果提交的有多个文件的话,指明File就可以精确地恢复,如果不指定的话,就会恢复刚才add的所有文件本地文件与暂存区文件内容... 查看详情

git管理修改撤销和删除文件(代码片段)

...删除文件确定从版本库中删除文件从暂存区把误删的文件恢复备注:本文参考于廖雪峰老师的博客Git教程。依照其博客进行学习和记录,感谢其无私分享,也欢迎各位查看原文。知识点Git跟踪和管理的的是修改,而不是文件gitche... 查看详情

学习笔记——git命令(代码片段)

...史操作gitreflog(9)修改了内容还未添加到暂存区,想要恢复到未修改前的状态,使用的代码gitchekout--文件名(10)修改了内容并添加到暂存区,想要恢复到未修改前的状态,使用的代码gitreset文件名gitcheckout--文件名(11)修改了... 查看详情

git常用命令(代码片段)

使用git恢复未提交的误删数据不小心将项目中一个文件夹删除还未提交,或者已经提交,此时想要恢复数据该怎么办?git记录每次修改head的操作,gitreflog/gitlog-g可以查看所有的历史操作记录,然后通过gitreset命令进行恢复。 ... 查看详情

git系列——gitlab备份与恢复(代码片段)

...代码管理工具。本节内容我们详细记录一下GitLab的备份与恢复。正文使用gitlab创建一个项目my-app进入gitlab配置目录/etc/gitlab,可修改gitlab相关配置信息及获取gitlab初始登录密码关于备份文件的配置修改,这里以系统默认的... 查看详情

git系列——gitlab备份与恢复(代码片段)

...代码管理工具。本节内容我们详细记录一下GitLab的备份与恢复。正文使用gitlab创建一个项目my-app进入gitlab配置目录/etc/gitlab,可修改gitlab相关配置信息及获取gitlab初始登录密码关于备份文件的配置修改,这里以系统默认的... 查看详情

git(代码片段)

...体功能    记录文件的所有历史变化    随时可恢复到任何一个历史状态    多人协作开发或修改    错误恢复版本控制的工具:  -svn  -git :软件帮助使用者进行版本的管理G 查看详情

atom编辑器入门到精通git支持(代码片段)

...了很好的支持,本文将介绍如何在Atom中集成使用Git和GitHub恢复文件当你修改了某个文件,然后发现改得不满意,希望恢复文件到最后一次提交的状态,可以使用Cmd+Alt+Z或CheckoutHeadRevision命令此命令将会放弃你对文件所有的修改,... 查看详情

git批量恢复所有删除的文件(代码片段)

gitls-files-d|xargs-igitcheckout 查看详情

git---stash用法(代码片段)

...hlist //用来展示某一保存记录所修改的操作 gitstashshow //恢复之前保存的修改操作并删除该保存记录//默认是恢复最近一次的(gitstashpop@0)//如果想指定恢复,可以在pop加上stash@number//number表示stashlist的顺序,例如gitstashpop@1 查看详情

atom编辑器入门到精通git支持(代码片段)

...了很好的支持,本文将介绍如何在Atom中集成使用Git和GitHub恢复文件当你修改了某个文件,然后发现改得不满意,希望恢复文件到最后一次提交的状态,可以使用Cmd+Alt+Z或CheckoutHeadRevision命令此命令将会放弃你对文件所有的修改,... 查看详情

git(撤销修改)(代码片段)

...可以很容易地纠正它。你可以删掉最后一行,手动把文件恢复到上一个版本的状态。如果用gitstatus查看一下:你可以发现,Git会告诉你,gitcheckout--fil 查看详情

svn老玩家翻车了,git玩的不够6git恢复本地误删的文件(代码片段)

...地代码,发现改乱了,就需要删除本地版本,恢复流上代码。按照svn的操作,只要删掉本地文件,然后update一把就行了,然而git就没这么简单了,捣鼓半天才搞完。以test仓库为例删除本地test文件gitstatu... 查看详情

git删除了本地文件,从远程仓库中恢复(代码片段)

在本地删除了文件,使用gitpull,无法从远程项目中拉取下来具体操作查看项目的状态,会显示出你删除的数据gitstatus进入被删除的文件的目录下,假设删除的文件名为test.txt然后进行下列操作,可以成功找回:gitresetHEADtest.txtgitche... 查看详情