git学习之路-撤销操作删除文件和恢复文件(代码片段)

thx9537 thx9537     2022-12-05     156

关键词:

 

▓▓▓▓▓▓ 大致介绍

  经过前面的学习(小白学Git)已经建立了版本库,并上传了文件,这次来学习对这些文件进行基本的操作,即:

    ◆ 撤销操作

    ◆ 删除文件

    ◆ 恢复文件

  我在此之前,已经将三个文件提交到了版本库

 

 

 

▓▓▓▓▓▓ 撤销操作

  撤销操作的语法:

        git checkout -- 文件名

 

  撤销操作一般有两种情况:

    ◆ 文件修改后还没有提交到暂存区,进行撤销操作之后,文件恢复到和版本库中一模一样

    ◆文件修改后提交到了暂存区,进行撤销之后,文件恢复到在提交到暂存区之前的状态

 

  现在index.htm中的内容是:

        index.html

  

  我们修改他的内容为:

        <!DOCTYPE html>
        <html lang="en">
        <head>
            <meta charset="UTF-8">
            <title>Document</title>
        </head>
        <body>
            
        </body>
        </html>

 

   1、文件未提交到暂存区

  用 git status 命令查看文件状态

  

  可以看到 index.html 修改了,但是还没有提交到暂存库,我们对这个文件进行撤销操作

  然后再打开 index.html 文件,就可以发现,它就恢复到了和版本库中一模一样的状态

 

  2、文件提交到了暂存区,但未提交到版本库

  用 git status 命令查看:

 

  如果这个文件写错了,想要修改,但是它已经提交到了暂存区。所以先需要将它撤销到工作区

        git reset HEAD 文件名

  

  写入命令并查看文件状态

  可以看到,文件已经撤销到了工作区,但是现在文件的内容还没有变化,如果想要恢复到修改之前的状态就使用

        git checkout -- 文件名

  此时,文件就和版本库中的文件一模一样了

  

 

▓▓▓▓▓▓ 删除文件

  新写一个文件,并提交到暂存区

  1、先删除工作区中的文件,在删除暂存区的文件

    要先删除工作区中的文件,有两种方式:

    ◆ 只在文件夹中删除

    ◆用命令行

        rm 文件名

 

  删除工作区的文件后,查看文件状态:

  可以看到,工作区中的 game.js 删除了,但是暂存区中的 game.js 还未删除

  删除暂存区中的文件:

        git rm 文件名

  如图:

  这样就将两个去的文件都删除了

 

  2、同时删除工作区和暂存区中的文件

        git rm -f 文件名

  如图:

 

   3、删除暂存区的文件,不删除工作区的文件

        git rm --cached 文件名

  如图:

 

▓▓▓▓▓▓ 恢复文件

  如果我们想要恢复某个文件或者整个项目到之前的某个版本,Git提供了方便的操作

  可以使用 git log 查看版本库的信息

  如图:

 

  如果想要将某个文件恢复到某个版本时的状态,可以使用以下的命令:

        git checkout id 文件名

  

  其中的id是图中框出来的,例如要将 index.html 文件恢复到 add three files 版本时的状态:

  id可以不用全部复制过来,复制一部分就可以了

  

  如果要将所有的文件都恢复到某个版本,可以使用下面的命令

        git reset --hard id

  如图:

 

  除了用id恢复到某个版本库时的状态,还有别的写法:

        //恢复到上一个版本
        git reset --hard HEAD^ 
        // 恢复到前两个版本
        git reset --hard HEAD~2

 

  另外,可以用 git reflog 查看恢复的记录

 

参考资料: 

      廖雪峰的官方网站-Git教程

      CODE帮助文档-Progit中文版

git使用记录:git各种撤销操作

参考技术A可以撤销add和commit之后的文件用另外一个分支的文件替换当前分支的文件直接删除某个文件回退到某一个提交1.第一种情况:还没有push,只是在本地commit简单总结一下,其实就是--soft、--mixed以及--hard是三个恢复等级。... 查看详情

git应用详解第二讲:git删除修改撤销操作(代码片段)

...的你已经了解Git的基本使用了。这一讲我们来进一步深入学习Git应用,着重介绍Git的一些常见操作,包括:删除文件、比较文件、撤销修改、修改注释与查看帮助文档。一、删除文件1.gitrm<file>该命令用于删除版本库中的文... 查看详情

关于git的撤销(代码片段)

关于git的撤销撤销addgitadddemo1#撤销对demo1的gitadd操作,并且该文件不会被删除gitresetHEADdemo1撤销commit根据commitId进行撤销#查看commitIDgitloggitreset--hardcommitId#返回到上个版本gitreset--hardHEAD^#返回到n个版本,n为正整数gitreset--hardHEAD~ncommit... 查看详情

git学习----git工作区&暂存区&版本库(“三巨头”)删除文件撤销操作

工作区、暂存区(stage)、版本库工作区:比如我的就是git1。版本库:工作区里有个隐藏的.git文件夹,这个奏是Git的版本库暂存区:Git版本库里一个很重要的部分。                以添加文件或者修改文件... 查看详情

恢复git撤销commit的代码

使用gitreset--hard是将磁盘文件也删除时候使用Git工作得小心翼翼,特别是涉及到一些高级操作,例如 reset, rebase 和 merge。甚至一些很小的操作,例如删除一个分支,我都担心数据丢失。不久之前,我在做一些大动... 查看详情

记录一次git的误删除操作--恢复

 gitcommit之后想撤销重来一次,就执行了gitreset操作,但是加个--hard参数,gitreset--hard把所有提交的文件都删除了,尝试了gitreflogshow和gitreset [email protected]{x}等操作均无效。 最终的解决办法是:git ls-files -d&nb... 查看详情

git学习(代码片段)

Git教程Git记录的是什么SVN记录的是每一次版本变动的内容Git则是将每个版本独立保存Git的三棵树工作区域、暂存区域和Git仓库Git工作流程Git的工作流程一般是这样:在工作目录中添加、修改文件将需要进行版本管理的文件放入暂... 查看详情

git撤销操作和历史查看(gitlog)(代码片段)

git查看历史和撤销操作撤销提交gitcommit--amend可以撤销上一次提交的内容,不过并不是撤销整个提交的记录,当使用这个命令之后可以修改提交信息,同时,这个命令也会自动将暂存区中的所有文件提交。如果自上次提交以来未... 查看详情

git学习随笔(代码片段)

GIT学习随笔目录GIT学习随笔git结构git理解git创建本地仓库操作查看日志git克隆git注意点解决冲突的两种方式gitstash使用比较差异撤销版本回退撤销与回退版本的对比删除文件分支查看分支的合并情况解决冲突远程仓库创建SSHKey关... 查看详情

git常用操作--创建提交撤销(代码片段)

...设置忽略文件查看文件的修改内容移动文件查看历史操作撤销操作撤销暂存区文件撤销对文件的修改Git基础操作创建Git仓库打开需要创建仓库的位置,右键选择GitBashHere打开Git命令界面输入gitinit创建仓库创建完成后得到提示I... 查看详情

谈谈git撤销操作(代码片段)

在工作中,往往会因为一些误操作,想撤销代码,下面我简单介绍一下如何操作(如果不了解git的基础用法,可以点击这里:链接) 撤销本地修改gitcheckout文件 撤销所有文件gitcheckout. 撤销所有文件gitclean-df 撤销... 查看详情

git学习----git工作区&暂存区&版本库(“三巨头”)删除文件撤销操作

工作区、暂存区(stage)、版本库工作区:比如我的就是git1。版本库:工作区里有个隐藏的.git文件夹,这个奏是Git的版本库暂存区:Git版本库里一个很重要的部分。                以添加文件或者修改文件... 查看详情

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

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

git上怎么把commit的代码撤销

...如果不小心commit了一个不需要commit的文件,可以对其进行撤销。先使用gitlog查看commit日志commit422bc088a7d6c5429f1d0760d008d86c505f4abeAuthor:zhyq0826<zhyq0826@gmail.com>Date:TueSep418:19:232012+0800删除最近搜索数目限制commit8da0fd772c3acabd6e21e85287bdcfc... 查看详情

git常用的操作指令git强制提交本地分支覆盖远程分支git删除远程端文件git临时保存和恢复

...pop五、git版本合并gitrebase--abort会放弃合并,回到rebase操作之前的状态,之前的提交的不会丢弃gitrebase--skip则会将引起冲突的commits丢弃掉(慎用!!)gitrebase--continue一般情况下,修改后检查没问题,... 查看详情

git的基本使用(代码片段)

学习系列,git基本命令记录,开始之前,看下git的工作原理图:基础命令gitinit#创建本地仓库gitstatus#查看信息gitadd文件名(*)#将代码提交至暂存区gitcommit-m\'备注信息\'#将代码提交到本地仓库gitdiff文件名#对比文件信息gitlog(--pret... 查看详情

gitgit本地的撤销修改和删除操作

一:撤销操作比如我现在在readme.txt文件里面增加一行内容为555555555555,我们先通过命令查看如下: 在我未提交之前,我发现添加5555555555555内容有误,所以我得马上恢复以前的版本,现在我可以有如下几种方法可以做修改:&... 查看详情

git使用(代码片段)

...改提交修改最近一次提交的信息gitcommit--amend管理缓存区撤销缓存区的第一次提交gitrm--cached文件名与删除版本库中的提交相同撤销已经commit的缓存区修改gitre 查看详情