在工作区修改代码时,如果发现修改错误了,想回到修改之前的状态,就可以使用git restore命令

我们举个例子看一下:

工作区有两个文件,文件内容如下

lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ ls
README.md  main.cpplng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ cat main.cpp
#include <stdio.h>int main()
{printf("this is first code");return 0;
}lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ cat README.md
this is readmelng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$

我们对文件内容作修改,修改后,文件内容如下

lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ ls
README.md  main.cpplng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ cat main.cpp
#include <stdio.h>int main()
{int num = 10;printf("num = %d\n", num);return 0;
}lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ cat README.md
welcome to Chinalng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$

使用git status看下状态

lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   README.mdmodified:   main.cppno changes added to commit (use "git add" and/or "git commit -a")lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$

如果我们不想保留修改的内容,就可以使用git restore filename撤销在工作区的修改

lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ git restore README.mdlng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ ls
README.md  main.cpplng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ cat README.md
this is readmelng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ git restore main.cpplng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ cat main.cpp
#include <stdio.h>int main()
{printf("this is first code");return 0;
}lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$

可以看到,代码已经回退到我们修改之前的状态了。

也可以使用git restore .命令撤销工作区的所有文件的修改,但是要慎用。

使用git restore命令撤销你在工作区的修改相关推荐

  1. linux中如何撤销上次命令,使用git reset命令撤销上次Git提交

    本文介绍如何撤消上一次的Git提交的方法. 前言 有时,在使用Git时,您可能要撤消最新的提交.提交是给定时间的Git存储库的快照,Git有一个称为HEAD的引用变量,它指向当前工作分支中的最新提交, ...

  2. git restore用法

    git restore --stage 和git restore 两个命令: 文件在暂存区且未作修改的情况 使用git restore --staged 把文件从暂存区移动到工作区,即文件不被追踪: ...

  3. Git 常用命令大全1

    一,git 常用命令 git init # 初始化本地git仓库(创建新仓库) git config --global user.name "xxx" # 配置用户名 git co ...

  4. Git的使用——Git 常用命令总结、Git的使用、Git 的分支、远程仓库的使用、IDEA 中使用Git、Git 工作流(Git Flow、Github Flow、GitLab Flow)

    Git的使用--Git 常用命令总结.Git的使用.Git 的分支.远程仓库的使用.IDEA 中使用Git 一.Git 常用命令总结 为了方便后续查找命令,故先把总结放前面,教程放后面 1.git 基 ...

  5. 【Java学习笔记(五十三)】之Git简介,Git常用命令

    本文章由公号[开发小鸽]发布!欢迎关注!!! 老规矩–妹妹镇楼: 一. Git (一) Git与SVN的对比 1. SVN SVN是集中式版本控制系统,版本库是集中放在中央服务器上的,开发人员只能从中 ...

  6. git如何查看缓存区文件内容_详解Git工作区、暂存区、历史记录区以及git reset、git revert、git checkout等撤销命令的区别...

    一.可以将git简单的分为三个区域   1.工作区(working directory)    2.暂缓区(stage index)    3.历史记录区(history)    如图: 其中git ...

  7. Git——撤销和删除操作【git restore / git rm 】

    前言:针对文件的撤销修改或者删除文件操作一般有以下几种情况: 1. 撤销文件修改 1.1 git restore – filename - 工作区文件改动未添加到暂存区   当修改后的文件还未放到暂存 ...

  8. git restore撤销修改

    介绍:git restore < filename >可以用户撤销工作区中还没有缓存的修改,也就是在工作区中进行了修改并且还没有使用git add将这些修改添加到缓存区.若这些修改已经使用 ...

  9. git常用命令(一)本地库初始化git init / add / commit / status / rm --cached / restore / reset

    1.git本地库初始化 命令:git init 效果:Initialized empty Git repository .git文件存放和本地库相关的子目录和文件 2.设置签名 2.1. 签名的形式 ...

  10. Git 高频命令、版本回退、分支操作、文件修改删除、撤销、标签、远程仓库推送、拉取

    1. 高频命令 git add 将工作文件修改提交到本地暂存区. git add . 将所有修改过的工作文件提交暂存区(常用). git commit -m "XXX" 为本次修改 ...

最新文章

  1. flask 刷新 html 网页
  2. Android-BLE蓝牙原理
  3. Centos6.5进入救援模式的方法
  4. STL常用的排序算法
  5. sphinx全文检索功能 | windows下测试 (二)
  6. C#LeetCode刷题-多线程
  7. android aptx固件,新增aptX蓝牙发射协议,M5固件首次升级!
  8. 常用功能-删除功能测试点
  9. JavaScript:学习笔记(3)——正则表达式的应用
  10. Git 常见问题总结
  11. springboot - 应用实践(1)认识springboot
  12. mapguide使用介绍
  13. 计算机网络实验水晶头,计算机网络实验报告制作网线
  14. wget 覆盖文件下载的技巧,绝对有效
  15. Python+OpenCV 轻松实现人脸识别签到考勤系统
  16. 关于数据、数据流、数据管道的一些看法(二)
  17. Oracle报错ORA-01507: ??????
  18. Hutool如何给Excel按行设置背景颜色
  19. 超级详细树讲解三 —— B树、B+树图解+代码
  20. 深度学习模型压缩与加速技术(三):低秩分解

热门文章

  1. Mac重装Homebrew
  2. A股实时行情接口资源分享
  3. BugKu Web题《网站被黑》writeUp
  4. Appium+python自动化23-Android夜神模拟器
  5. STC12C5A60S2独立PWM
  6. 长整数转化成16进制字符串
  7. JavaScript测试题
  8. gromacs ngmx_Jerkwin.github.io
  9. 带你了解电机驱动板的四大分类
  10. 生活感悟,人生正能量!--摘自张瑞敏演讲语录