在实际的工作和学习中我们经常的会对文件进行修改,但是或多或少的就会发现由于某些原因修改是错误的这时候就需要对所做的修改进行撤销,更或者某些时候需要对文件进行删除。本节就会告诉大家如何操作。

撤销操作

  撤销命令可以使用 git checkout --<fileName> 意思是把工作区的内容全部撤销我们知道工作区的文件有几种情况:已经放入暂存区的还有没有放入暂存区的,我们分别对其进行说明:

  1. 对于没有放入暂存区的文件,使用 git checkout 进行撤销修改就会回到和版本库一模一样的状态。

  2. 如果该文件已经放入暂存区,并且做了修改,使用 git checkout 会撤销修改就回到添加到暂存区后的状态。

  说白了我们的目的就是让这个文件回到最近一次 git commit 或者 git add 的状态。

删除文件

  删除文件可以使用 git rm 命令。例如我们想删除 test.txt 文件

rm test.txt

  在这个时候 git 知道你做了删除的操作,此时工作区和版本库是不一致的,使用 git status 命令就会知道哪些文件已经被删除了

$ git status
...
no changes added to commit (use "git add" and/or "git commit -a")

  现在我们有两种选择:1. 的确要删除该文件,这时候使用 git rm 命令将其删除,并且使用 git commit 进行提交。2. 删错文件了,此时因为版本库中还是有该文件的。所以我们可以使用 git checkout --<fileName> 进行还原。

  这里我们就知道 git checkout 就是使用版本库中的文件代替工作区中的文件,无论工作区的文件是做了修改还是删除都是使用 git checkout 进行还原。

  对于 git rm 命令是用来删除一个文件。如果一个文件已经在版本库中存在了,那么你就不用担心误删了,因为我们可以对其进行还原的,但是需要注意的是你只能恢复到最新的版本,你会丢失最近一次提交后修改的内容呦!

git 学习之撤销和删除的更多相关文章

  1. git学习03 - 撤销修改&删除文件

    撤销修改:git checkout -- filename :将工作区文件回到最近一次add 或者 commit的状态 撤销修改分为三种情况: 1.未提交至暂存区 使用git checkout -- ...

  2. mzy git学习,撤销修改(二)

    git checkout – file: 撤销我们对工作区的修改(没有提交到暂存区) 当我们在工作区修改了之后,并没有提交到暂存区,如果要撤销对 某个文件的修改的话,就使用 git checkout ...

  3. Git学习总结四(删除)

    一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了: $ rm test.txt 这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻 ...

  4. git 学习笔记 ---撤销修改

    自然,你是不会犯错的.不过现在是凌晨两点,你正在赶一份工作报告,你在readme.txt中添加了一行: $ cat readme.txt Git is a distributed version co ...

  5. Git学习(二)(2015年11月18日)(2016年1月29日)

    2015年11月18日Git学习: .Shell 删除文件夹及其所有文件 rd/s/q 文件目录 ---------------当前为先创建本地Git库后与网上Git服务器关联------------ ...

  6. git 学习(3)文件删除恢复

    git学习(3) 撤销编辑 如果我们在编辑版本a的时候,如果在没有add之前,发现需要重新编辑版本a怎么办呢,可以通过git reset --hard comm_id, commit_id是版本a的提 ...

  7. 【Git】Git 本地的撤销修改和删除操作

    一:撤销操作 比如我现在在readme.txt文件里面增加一行 内容为555555555555,我们先通过命令查看如下: 在我未提交之前,我发现添加5555555555555内容有误,所以我得马上恢复 ...

  8. git学习笔记10-新开发的功能不想要了-强行删除分支

    添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支. 现在,你终于接 ...

  9. git学习 删除远程分支

    2种方法删除远端分支: git branch -r -d origin/branch-name    // -r:  远端:    -d:删除 git push origin :branch-name ...

随机推荐

  1. 笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用

    Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDis ...

  2. [label][JavaScript扩展] JavaSCript扩展

    http://www.idangero.us/sliders/swiper/ ,swipper for mobile terminal.

  3. EBS单实例上所有正在运行的并发请求以及请求目前的状态

    --EBS单实例上所有正在运行的并发请求以及请求目前的状态---一个实例上运行的所有并发请求的总结和他们目前的状态以及等待状态    select w.seconds_in_wait "Se ...

  4. 基于S2SH开发病房管理系统的设计与实现 源码

    基于S2SH开发病房管理系统的设计与实现: 开发环境: Windows操作系统 开发工具:Eclipse/MyEclipse+Jdk+Tomcat+MySQL数据库 运行效果图:       此源码经 ...

  5. Visual Studio 2017(VS2017) 企业版 Enterprise 注册码

    Visual Studio 2017(VS2017) 企业版 Enterprise 注册码:NJVYC-BMHX2-G77MM-4XJMR-6Q8QF 终于等到你,最强 IDE Visual Stud ...

  6. python怎么生成requirements.txt文件

    生成文件: pip freeze > requirements.txt 安装依赖: pip install -r requirements.txt

  7. linux下切换用户出现This account is currently not available

    今天在一台新服务器下切换用户的时候出现“This account is currently not available”错误上网检索了一 下发现是用户的shell禁止登录的问题 解决办法:比如我是 s ...

  8. [idea]对于前端里面一些事情的看法

    一些是自己的想法,另一些是看博客或者书籍里面得出的,随手记在这里. 基于页面的开发 最初的前端资源模式是基于页面的,像最开始接触web.开发web时候,一般是新建页面-引入jQuery-新建index ...

  9. html中事件调用JavaScript函数时有return与没有return的区别

    JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置. 而该值决定了当前操作是否继续.当返回的是true时,将继续操作.当返回是 ...

  10. vim编辑后权限不够保存问题解决方案

    常常忘记了sudo就直接用vim编辑/etc内的文件,等编辑好了,保存时候才发现没权限. 1.曲线救国:先保存个临时文件,退出后再sudo cp回去 2.可以直接用 :w !sudo tee % 查阅 ...