git merge 撤销操作

Git撤销暂存区的修改

git add 添加文件到暂存区。
git commit 提交更改,把暂存区的所有内容一次性全部提交到当前分支,清空暂存区。

有两种相关操作
通过 git checkout – 文件名 命令可以撤销文件在工作区的修改

该命令是撤销我们在工作区全部的修改记录
git checkout -- ./

通过 git reset a 命令可以撤销指定文件的 git add 操作,即这个文件在暂存区的修改,但此时工作目录中a文件又成了已修改未暂存状态,用上面的命令再次撤销,变为clean状态,即清理干净

三种开发是常见场景

  • 修改后,文件没有放入暂存区(即文件一直在工作区):用 git checkout – 文件名 撤销工作区的改动(回到跟版本库一样的状态,即回到最近一次 git commit时的状态,所有改动全部清除)
  • 修改后,文件放入暂存区,且文件没有再次修改(即文件已经进入暂存区):分两步:先用 git reset <文件名> 撤销 git add 操作(此时更改仍留在工作区),再执行 git checkout – 文件名 清除工作区的改动
  • 修改后,文件放入暂存区,且文件再次修改:分三步:先用 git checkout – 文件名 撤销工作区的改动,再用 git reset <文件名> 撤销 git add 操作(此时更改仍留在工作区),最后执行 git checkout – 文件名 清除工作区的改动
vim a.txt #修改工作目录文件
git status #此时会提醒Changes not staged for commit
git checkout -- a.txt  #执行完这条命令,发现原理是把这个文件同步为暂存区的样子注意,经过测试发现其原理是把当前文件同步为成暂存区的样子如果是以下情况:echo "test" > b.txt那么b.txt对git来说是未追踪文件Untracked files;此命令无效

Git撤销本地commit操作

写完代码后,我们一般这样

git add . //添加所有文件git commit -m "本功能全部完成"
git reset --soft HEAD^HEAD^的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2

不删除工作空间改动代码,不撤销git add,仅仅是撤回commit操作

git reset --mixed HEAD^

不删除工作空间改动代码,撤销commit,并且撤销git add . 操作,相当于撤回commit操作,撤回add操作,恢复到add之前内部,这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的

git reset --mixed HEAD^

删除工作空间改动代码,撤销commit,撤销git add . 注意完成这个操作后,就相当于完全恢复到了上一次的commit状态。

git撤销merge

当我们使用git merge操作合并代码但还没add时,若想取消这次合并,使用命令

git merge --abort

假如不幸已经 git add 了,先用 git reflog 指令显示历史的操作,再用 'git reset --hard commit id’就可以回退到操作之前的状态了

git撤销操作(git后悔药)相关推荐

  1. Git 撤销操作 / 回滚历史

    撤销操作 git checkout -- <filename>,放弃文件的当前更改,回到最近一次的提交状态 git reset HEAD <filename>,取消暂存文件 g ...

  2. git分支合并、撤销;git修改已push的commit信息; git 撤销操作;

    git分支合并 1.分支代码提交 2.git branch 查询本地分支 3.git checkout 分支名1 切换分支到需要合并的分支上 4.git merge 分支名2  //选择要合并到 分支 ...

  3. Git的撤销操作 git commit --amend

    在项目中我们也经常会使用到撤销操作 使用这一节我们就讲一讲Git的撤销操作 撤销操作主要有如下几种 git commit --amend 撤销上一次提交 并讲暂存区文件重新提交 git checkou ...

  4. Git的撤销操作 git checkout -- <file>

    在项目中我们也经常会使用到撤销操作 使用这一节我们就讲一讲Git的撤销操作 撤销操作主要有如下几种 git commit   --amend        撤销上一次提交  并讲暂存区文件重新提交 g ...

  5. Git的撤销操作 git reset HEAD -- <file>

    在项目中我们也经常会使用到撤销操作 使用这一节我们就讲一讲Git的撤销操作 撤销操作主要有如下几种 git commit   --amend        撤销上一次提交  并讲暂存区文件重新提交 g ...

  6. 撤销操作 —— Git 学习笔记 12

    撤销操作 写在前面:有些撤消操作是不可逆的. 这是在使用 Git 的过程中,会因为操作失误而导致之前的工作丢失的少有的几个地方之一. 修改最新提交 有时候我们提交完了才发现漏掉了几个文件没有添加,或者 ...

  7. [转]Git 撤销操作

    二. Git撤消操作 12.1 修改最后一次提交 git commit --amend 1.新建一个文件 2.提交一个之前的更改 3.跟踪这个文件 4.跟前一次一起提交 提示你是否重新编辑提交说明,如 ...

  8. Git学习总结(11)——Git撤销操作详解

    本文主要讨论和撤销有关的 git 操作.目的是让读者在遇到关于撤销问题时能够方便迅速对照执行解决问题,而不用去翻阅参数繁多的 git 使用说明. 一开始你只需了解大致功能即可,不必记住所有命令和具体参 ...

  9. [Git] 撤销操作

    不小心将文件修改/删除了,想撤回.分两种情况. 一 如果 修改/删除 的文件未提交 git restore hello.txt 二 如果 修改/删除 的文件已提交 git restore --stag ...

最新文章

  1. 【目标检测系列】CNN中的目标多尺度处理方法
  2. tomcat 日志分割脚本
  3. android 入门 006(sqlite增删改查)
  4. gRPC:Google开源的基于HTTP/2和ProtoBuf的通用RPC框架
  5. 释疑の资源短缺DATASET_CANT_CLOSE
  6. ubuntu16定时任务crontab
  7. linux eclipse设置颜色,Linux Eclipse美化:解决工具栏过大和 Javadoc背景色修改
  8. 计算机教学训练的有效性,充分利用现代教育技术   提高课堂教学有效性
  9. Linux 命令(113)—— seq 命令
  10. [Android Samples视频系列之ApiDemos] App-Activity-Recreate
  11. MySQL技术内幕 InnoDB存储引擎 第2版 下载
  12. 基于FPGA的数字视频信号处理器设计(上)
  13. 计算机硬盘能否做u盘用怎么用,教你怎么用移动硬盘做原系统的启动硬盘图文教程...
  14. http下载异常_用了这么久HTTP, 你是否了解Content-Length?
  15. 微信IPAD协议安卓协议DEMO,登录篇#1
  16. 蓝凌ekp开发_蓝凌EKP在eclipse中启动报错
  17. 益聚星荣:不打老婆的即时到账”?还呗贷款平台广告词惹争议
  18. Java基础学习笔记(二)_Java核心技术(进阶)
  19. 【ThreeJS基础教程-初识Threejs】1.6各种各样的几何体
  20. Done、Doing、ToDo

热门文章

  1. 在与SQL server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且SQL server已配置为允许远程连接。error40 错误53
  2. sqlmap (三)HTTP参数设置
  3. openNI驱动控制kinect马达
  4. Sequence II(HDU - 5919)
  5. 新能源车,许家印的雄心,恒大的第二战场
  6. 魅族商城html模板,jQuery实现Meizu魅族官方网站的导航菜单效果
  7. DisplayPort接口最详解析
  8. 伪存储专家装X指南进阶版
  9. 本地开发申请ssl证书并在宝塔上给网站配置ssl
  10. wordpress主题html5,Salutation 强大的HTML5商务WordPress主题集成BuddyPress[更新至v3.0.7]