Git --恢复修改的文件

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

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

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

情况I:

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

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

情况II:

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

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

情况III:

修改了文件,并提交到仓库区(即编辑之后,gitadd和gitadd和 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 来指定版本(下图红色的字)。

以旧图举例:

原文地址:https://www.cnblogs.com/hustcser/p/10354712.html

时间: 2024-10-21 00:49:19

Git --恢复修改的文件的相关文章

git 恢复误删的文件

误删的文件如何恢复呢? 执行下面的命令: 1. git reset HEAD a.txt 2. git checkout a.txt 注意:上面两个命令,可以帮我们找回删除的文件,但是对文件内容的修改,也就没了. 也就是说:上面两个命令,找回来的文件状态是:上一次commit时候的状态 eg:举例如图 原文地址:https://www.cnblogs.com/quan-coder/p/9436501.html

gitea (git服务器), 修改配置,更换IP地址

使用的gitea项目管理git 服务器 (可以不用备份项目, 通过直接修改gitea配置, 直接使用) 步骤1 可以直接访问项目, 步骤2 ,如果已有项目IP地址固定为192.168.1.x, 新的IP为192.168.1.Y 修改.git 的config 文件,就可以直接继续使用该项目(pull, push, conmit 等等) 步骤1.在gitea 配置目录 修改D:\git\custom\conf [server] SSH_DOMAIN = localhost DOMAIN = loca

git恢复被修改的文件

恢复到最后一次提交的改动: git checkout -- + 需要恢复的文件名 但是,需要注意的是,如果该文件已经 add 到暂存队列中,上面的命令就不灵光喽 需要先让这个文件取消暂存: git reset HEAD -- + 需要取消暂存的文件名 然后再使用第一条命令. 如果感觉命令多了记不住,那就做一两个匿名呗,比如: git config --global alias.unstage 'reset HEAD --' git config --global alias.restore 'c

git 放弃本地某个文件的修改,或所有修改

18:57 2015/11/17git 放弃本地某个文件的修改,或所有修改git checkout 文件名git checkout // 放弃所有文件的所有修改git reset --hard 版本号 // 返回到某个版本,放弃所有修改有一种恢复会保留修改记录,有一种不会保留修改记录,请翻阅资料文档推荐博客:http://hbiao68.iteye.com/blog/2103287,说得不够透彻和深入,没有讲会不会保留修改,但是简单明了.

git 恢复单个文件的历史版本

首先查看该文件的历史版本信息:git log [email protected] 记录下需要恢复的commit版本号:如 9aa51d89799716aa68cff3f30c26f8815408e926 恢复该文件:git reset 9aa51d89799716aa68cff3f30c26f8815408e926 [email protected] 提交git:git commit -m "revert old file" git删除未跟踪文件 # 删除 untracked file

git放弃修改&放弃增加文件

git放弃修改&放弃增加文件 1. 本地修改了一堆文件(并没有使用git add到暂存区),想放弃修改. 单个文件/文件夹: $ git checkout -- filename 所有文件/文件夹: $ git checkout . 2. 本地新增了一堆文件(并没有git add到暂存区),想放弃修改. 单个文件/文件夹: $ rm filename / rm dir -rf 所有文件/文件夹: $ git clean -xdf // 删除新增的文件,如果文件已经已经git add到暂存区,并不

Git操作-修改与删除

管理修改 第一次修改 ->git add -> 第二次修改 ->git commit 如果第一次修改git add ,第二次修改还没来的及'git add',此时如果git commit 第二次的修改是没有在版本库的,Git管理的是修改,当你用git add命令后,在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区,所以,git commit只负责把暂存区的修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交. 第一次修改 -> git

小蚂蚁学习git(2)——Git撤销修改和删除,远程仓库的创建推送和克隆

接上篇(http://my.oschina.net/woshixiaomayi/blog/521265)继续写. 四.Git撤销修改和删除 1.撤销修改 场景:在readme.txt中添加了一段话"今天天气不错".在还未提交之前,发现这句话写的不对,那么有一下几种方式修改:1.直接动手删除掉那些错误的内容,然后再用add添加到暂存区,在commit提交到分支.2.按照上一篇所讲到的使用命令 git reset -hard  HEAD^ 回退到上一个版本.除了昨天说的这两个方法之外,还有

git与github的文件推送

第一步:安装git 一切next完成之后 回到我们桌面 点击右键 出现了下图的两个图标 说明安装成功了 第二步:点击我们的git Bash Here 进入命令行 完成一下我们的配置 git config --global user.name"你的用户名" git config --global user.email"你的邮箱号" 设置好后 可以通过命令git config -l (这是字母l)查看我们刚才设置的参数 第三步:创建版本库  可以在你的电脑任何创建一个文