git checkout – file: 撤销我们对工作区的修改(没有提交到暂存区)

当我们在工作区修改了之后,并没有提交到暂存区,如果要撤销对

某个文件的修改的话,就使用

git checkout -- 文件名

例如:

git checkout -- readme.txt

这样就能撤销本地的修改了,重新编辑readme.txt发现之前的修改没有了。

git reset HEAD <file>:撤销对暂存区的修改,重新放回工作区(没有提交到本地库)即:只是add了,没有commit的时候

首先使用git add readme.txt,然后使用git status 查看当前的branch(分支)是干净的。(绿色:表示已经从工作区提交到了暂存区)

然后使用了git reset HEAD命令,再输入git status发现:提示当前的分支modified,并且是红色(说明工作区的readme.txt并没有提交到暂存区中)

以上说明了git reset HEAD readme.txt确实是将暂存区在的文件重新放回了工作区中。

至于如果到了版本库中,之前说的:

git reset --hard 索引ID,可以将版本库和工作区的文件都回退到特定版本中。

如果是还没有push,只是在本地commit

git reset --soft|--mixed|--hard <commit_id>
git push develop develop --force (本地分支和远程分支都是 develop)

这里的<commit_id>就是每次commit的SHA-1,可以在log里查看到

–mixed 会保留源码,只是将git commit和index 信息回退到了某个版本.

–soft 保留源码,只回退到commit信息到某个版本.不涉及index的回退,如果还需要提交,直接commit即可.

–hard 源码也会回退到某个版本,commit和index 都会回退到某个版本.(注意,这种方式是改变本地代码仓库源码)

mzy git学习,撤销修改(二)的更多相关文章

  1. Git学习——撤销修改

    git checkout -- <file> 当你修改完一个工作区的文件后,使用git status查看当前的状态.其中有说明,接下来你可以git add <file> 去添加 ...

  2. Git学习笔记(二) · 非典型性程序猿

    远程库的使用 前面说到的都是git在本地的操作,那么实际协作开发过程中我们肯定是要有一个远程版本库作为项目的核心版本库,也就是投入生产使用的版本.这里我们以 Github为例.Github是一个开放的 ...

  3. git指令-撤销修改

    git指令-撤销修改 如果在文件中添加了错误的内容,可以撤销修改 eg: 解决: 可以删掉最后一行,手动把文件恢复到上一个版本的状态: 使用git status 你可以发现,Git会告诉你,git c ...

  4. [git 学习篇] git checkout 撤销修改

    git status 查看当前创库情况 liuzhipeng@exdroid43:~/pad/pad-test$ git status 位于分支 master 您的分支与上游分支 'origin/ma ...

  5. (转)git checkout 撤销修改

    背景:学习git相关命令 git撤销修改和版本回退 git status查看当前仓库的状态 liuzhipeng@exdroid43:~/pad/pad-test$ git status 位于分支 m ...

  6. git学习笔记(二)—— 创建版本库&&版本管理

    一.创建版本库 创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录: mkdir gitHub_CXWcd gitHub_CXW git init Initialized empty G ...

  7. mzy git学习,git协同开发忽略文档配置以及一些杂点(九)

    回忆一个电脑多账户问题 之前也说了,如果使用ssh登陆的话,一个电脑就只能登陆一个账号了,不像通过凭据可以切换(但是其实也可以每次去生成新的公钥和私钥,只要你不嫌麻烦) 再次补充: ssh-keyge ...

  8. mzy git学习,初识git(一)

    GIT学习 git工作区.暂存区.本地库.远程库 工作区:实际上我们工作的地方,进行写代码或者文件的地方. 暂存区:我们执行了git add 操作之后,就会被提交到暂存区. 本地库:其实最后我们需要执 ...

  9. Git学习 -- 管理修改

    git关注的是修改,而不是文件 commit只会提交add到暂存区的修改 撤销修改 已修改但没有add到暂存区 git checkout -- <file>     #撤销工作区中的修改 ...

  10. git学习笔记之二 -- git分支

    前面对git基础作了简单的总结,这次对git的杀手锏--分支做一总结. Git分支简介 几乎每个版本控制系统都以某种形式支持分支,可以使你的工作从开发主线上分离开来,以免影响开发主线.很多版本控制系统 ...

随机推荐

  1. 公有云上构建云原生 AI 平台的探索与实践 - GOTC 技术论坛分享回顾

    7 月 9 日,GOTC 2021 全球开源技术峰会上海站与 WAIC 世界人工智能大会共同举办,峰会聚焦 AI 与云原生两大以开源驱动的前沿技术领域,邀请国家级研究机构与顶级互联网公司的一线技术专家 ...

  2. 离散数学-传递闭包(POJ3275)

    就是n的元素给定m个关系求他们之间的关系. eg.  ∵a>b and b>c ∴a>c emmmm 若要知道n个元素的绝对关系,则需知道C(n,2)个关系. 例题:POJ3275 ...

  3. RegOpenKeyEx

    对注册表的操作是通过句柄来完成的,在对某个键下的键值进行操作的时候首先将该键进行打开,然后使用键句柄进行引用该键,操作完后要进行关闭: 注册键的根键不需要打开,他们的句柄是固定的,直接拿来用就是了. ...

  4. 忘记oracle的sys和system的密码

    step1:通过cmd打开命令提示符, sqlplus /nolog step2:输入conn /as sysdba step3:输入alter user system identified by 新 ...

  5. 新一代垃圾回收器ZGC的探索与实践

    ZGC(The Z Garbage Collector)是JDK 11中推出的一款低延迟垃圾回收器,它的设计目标包括: 停顿时间不超过10ms: 停顿时间不会随着堆的大小,或者活跃对象的大小而增加: ...

  6. ThinkPHP5 SQL注入漏洞 && 敏感信息泄露

    访问看到用户名被显示了 http://192.168.49.2/index.php?ids[]=1&ids[]=2 访问http://your-ip/index.php?ids[0,updat ...

  7. NODEJS对象

    1.全局对象 Node.js: global 交互模式下var声明的变量都属于全局下的变量,可以使用global访问,例如global.a 脚本模式下var声明的变量不属于全局下的变量.不能使用glo ...

  8. 15 道超经典大厂 Java 面试题!重中之重

    从超高频的后端面试题出发,指明学习方向 大家好,我是鱼皮. 还记得我的老弟小阿巴么?他目前正值大一暑假,在家自学编程(刷短视频)中. 他整个大一期间基本都在学习前端.后来,我带他写了一次后端,结果就崩 ...

  9. linux笔记1(不全,无图版)随笔

    1.ls 查看当前目录下的所有内容 黑色的是文件,蓝色的是文件夹,也就是目录 2.rm -f anaconda-ks. cfg 彻底删除文件(如不确定,则需要先保存备份,也就是快照) 3.ifconf ...

  10. Java方法02——定义与调用

    方法的定义与调用 定义与调用 例子  package method; ​ public class Demon03 {     public static void main(String[] arg ...