git amend 详解和撤销

  • git amend详解
    • git amend 作用
    • git amend如何撤销

git amend详解

git amend 作用

git 在现在的开发中使用频繁,解决了很多多人协作问题。今天我们来说说git --amend到底是干啥的。
git --amend简单地来说,可以理解成对最后一次提交做修正。<前提是当前最后一次提交没有merge>
我们假设一个场景,比如说,
小明第一次
git add .
git commit -m "first push"
git push
然后,在merge之前小明突然发现,我需要更新某一个文件,再次提交会生成新的commit-id。小明想在原有的提交之上再重新提交一次,这次就用到git commit --amend,会将此次提交作为最后一次提交更新。

git amend如何撤销

当我们git amend之后我们想撤销又该如何操作呢?三行命令解决的事情~
git reflog查看操作记录,找到amend下一个head节点。这里用Ref[2]来看一下:
git reflog后我们看到commit (amend)所在的head为红色对应的HEAD@{0},我们可以看到下一个headHEAD@{1}。那么接下来,用 git reset 将当前分支的 HEAD 指向 HEAD@{1}, 即可达到撤销 amend 的目的:
现在就把更新弄到工作区了,接下来再进行三部曲就好了。
三部曲:
git add .
git commit -m "notes"
git push

Ref:
1、http://www.softwhy.com/article-8492-1.html
2、https://www.jianshu.com/p/97341ed9d89e

git amend详解和撤销相关推荐

  1. Git 原理详解及实用指南

    Git 原理详解及实用指南 什么是版本控制系统(VCS) 很多人认为 Git 难以理解的第一个门槛在于:所谓的「Git 是一个分布式版本控制系统」这句话的具体含义不够清楚.其实分布式版本控制系统(Di ...

  2. git 原理详解及实用指南_如何编写良好的提交消息:实用的Git指南

    git 原理详解及实用指南 To create a useful revision history, teams should first agree on a commit message conv ...

  3. git cherry-pick 详解 —— Git 学习笔记 18

    git cherry-pick 详解 初识 git cherry-pick(拣选) 拣选会提取某次提交的补丁,之后尝试将其重新应用到当前分支上. 这种方式在你只想引入特性分支中的某个提交时很有用. 假 ...

  4. GitHub使用教程详解(下)——Git的安装以及Git命令详解

    上一篇GitHub使用教程详解(上)--官网操作指南[翻译],是针对官网的guide进行了翻译,其实个人来说,我是很不喜欢那么操作的,又要等待页面加载,操作又慢!程序员嘛,还是直接敲入命令代码更迅速高 ...

  5. git命令详解( 四 )

    此篇为git命令详解的第四篇,话不多说,我们直接上知识点好吧 git Push 偏离的工作 gitPush: 此命令负责将你的变更上传到指定的远程仓库,并在远程仓库上合并你的新提交记录.一旦 git ...

  6. java开发中常用的Git命令详解

    java开发中常用的Git命令详解(IDEA内如何操作) 一:写这篇文章的目的是什么? 二:使用场景在哪里? 1:当我们要使用idea去git仓库拉代码时,首先我们的idea得配置git工具 2:项目 ...

  7. Git命令详解及工作实用流程

    Git基本使用 1.什么是Git 1.1 Git简介 1.2Git的优点 2.Git和SVN的区别 3.Git常用命令 3.1 设置用户签名 3.2 初始化本地库 3.3 查看本地库状态 3.3.1首 ...

  8. 【Git版本控制】Git命令详解

    文章目录 前言 1.展示帮助信息 2.回到远程仓库的状态 3.重设第一个 commit 4.查看冲突文件列表 5.展示工作区和暂存区的不同 6.展示暂存区和最近版本的不同 7.展示暂存区.工作区和最近 ...

  9. git 命令详解_再次学习Git版本控制工具

    微信公众号:PHP在线 Git 究竟是怎样的一个系统呢?为什么在SVN作为版本控制工具已经非常流行的时候,还有Git这样一个版本控制工具呢?Git和SVN的区别在哪儿呢?Git优势又在哪呢?下面PHP ...

最新文章

  1. 2018-3-5(论文——网络中非结构信息的表示与应用)笔记二 (歧义词,未登录词,禁用词)
  2. 基于 DDD 设计并实现模块化单体应用
  3. String案例 练习: 将一个字符串进行反转
  4. UCloud想吃科创板的“第一个螃蟹”
  5. 实现一个MVVM和promise
  6. 一起学习C语言:C语言基本语法(四)
  7. 小时光扫地机器人圆圆_小时光:圆圆录像功能已开启,无死角录制林一霸道总裁一面,超甜...
  8. Matlab|基于粒子群优化算法及鲁棒MPPT控制器提高光伏并网的效率
  9. 电子书:《网页木马攻防实战》
  10. 关于Android Pie(Android 9.0),你想知道的都在这了
  11. Hulu热招 | ADI广告数据和算法团队
  12. 没Switch也能玩有氧拳击 咕咚智能运动手表F4全面评测
  13. 复现论文常用函数(一)tf.one_hot,tf.train.batch,tf.train.shuffle_batch,数据读取机制,获取文件路径,Bunch等
  14. 区块链行业薪酬待遇,与事实相符吗?
  15. Excel如何把全部符合单个条件的数据提取出
  16. MySQL Workbench构建ER图(实体关系图)
  17. 解决了一次模块间TTL串口不能通讯的问题
  18. ExaGrid报告显示新冠疫情期间季度业绩仍表现强劲
  19. php CI 微信支付扩展 微信扫码支付 jssdk 支付 退款
  20. 非标自动化企业前十名_苏州非标自动化-优质企业

热门文章

  1. Java应用之阶乘求和
  2. SoapUI基础使用教程
  3. C语言判断是否为素数(质数)
  4. 苹果截屏快捷键_超薄键盘nice、配苹果很合适,罗技MX Keys使用体验
  5. 重磅 | 中国电信发布5G时代区块链智能手机白皮书
  6. 在内存中的显示缓存区中显示汉字“中”字(一)
  7. CSS权威指南第五版-第17章 变形
  8. 通信工程计算机程序设计要求高吗,通信工程职生涯规划书.docx
  9. 淘宝是如何实现高并发下抢单的锁单机制?
  10. C语言贪吃蛇游戏(进阶版)