git amend如何撤销
本文参考自https://blog.csdn.net/woai8339/article/details/90447901
git amend 作用
我们知道git amend
作用是合并当前的改动至上一次提交
,起到修复的作用
比如:
我们假设一个场景,比如说,
小明第一次
git add .
git commit -m "first push"
git push
然后,在merge之前小明突然发现,我需要更新某一个文件,再次提交会生成新的commit-id。小明想在原有的提交之上再重新提交一次,这次就用到git commit --amend,会将此次提交作为最后一次提交更新。
注意:
前提是当前最后一次提交没有merge
,如果你在执行类似pull操作后,你本地的上一次提交就不一定是自己的提交了,可能是别人的某次commit。
git amend如何撤销
当我们git amend
之后我们想撤销又该如何操作呢?
首先制造事故现场. 追加空行到项目中的 index.html 文件下:
$ echo "" >> index.html
$ git add .
$ git commit -m "add blank line to index.html"
然后再加一行到 index.html, 并 amend 一下:
$ echo "this line would break the code" >> index.html
$ git add .
$ git commit --amend
现场已经出现, 我们要撤销 amend 的那个提交.
三行命令解决的事情~
git reflog
查看操作记录,找到amend下一个head节点。这里用Ref[2]来看一下:
git reflog
后我们看到commit (amend)所在的head为红色对应的HEAD@{0}
,我们可以看到下一个head
为HEAD@{1}
。那么接下来,用 git reset
将当前分支的 HEAD
指向 HEAD@{1}
, 即可达到撤销 amend 的目的:
现在就把更新弄到工作区了,此时可以重新对index.html做处理,比如想把改动作为新的提交,而不是合并至上一次提交,
重新执行
git add index.html
git commit -m ‘new message’
git push
其实很简单,本来是知道git reflog 和 git reset 用法的,只是一时没有想起来用在这个地方,主要是没想起来git amend也会在git reflog 产生一条记录。
git amend如何撤销相关推荐
- git amend详解和撤销
git amend 详解和撤销 git amend详解 git amend 作用 git amend如何撤销 git amend详解 git amend 作用 git 在现在的开发中使用频繁,解决了很 ...
- git如何查看缓存区文件内容_详解Git工作区、暂存区、历史记录区以及git reset、git revert、git checkout等撤销命令的区别...
一.可以将git简单的分为三个区域 1.工作区(working directory) 2.暂缓区(stage index) 3.历史记录区(history) 如图: 其中git ...
- git的一些撤销/回退操作
在个人开发和协同开发过程中,我们是通过git把我们本地仓库和远程仓库联系起来,首先 我们要知道的是git 有工作区.暂存区和Git仓库.我们本地编写的代码,不执行git命令都处于工作区. 执行 git ...
- 【Git】Git 本地的撤销修改和删除操作
一:撤销操作 比如我现在在readme.txt文件里面增加一行 内容为555555555555,我们先通过命令查看如下: 在我未提交之前,我发现添加5555555555555内容有误,所以我得马上恢复 ...
- 【git系列】git命令之撤销回退篇
撤销工作区修改 工作区修改代码,并未存入暂存区. 适用场景:工作区对某段逻辑代码进行优化,突然发现存在一定的问题,性能不一定比之前提交的代码优秀,放弃本次对文件的修改. #撤销指定文件 git che ...
- git进阶(撤销pull、撤销merge、撤销add)
1.撤销本次pull git reflog reset到某个版本 git reset --hard 91ae6ad 2.撤销本次merge 如果merge了其他分支代码造成了大量的冲突 想撤销本次me ...
- git commit -m 撤销操作
1. 撤销本次commit-m操作 返回到add成功状态 git reset --soft HEAD^ 2.撤销本次commit+add 返回本地未提交状态 git reset --hard HEAD ...
- Git同步和撤销命令
文章目录 远程同步[^1] `git clone` `git remote` `git fetch` `git pull` `git push` 撤销操作[^2] `git revert` `git ...
- 【Git】如何撤销改动
对工作区中文件的修改分为三种情况: 修改,但没有用Git add将修改添加到暂存区 对于第一种情况,直接使用git checkout – 文件,即可撤销修改,撤销修改就回到和版本库一模一样的样子. 修 ...
最新文章
- hbase性能优化2
- docker 运行 php nginx_docker搭建nginx+mysql+php
- keepalived 安装及配置VIP漂移
- ATL是如何实现线程安全的引用计数和多线程控制的
- 【POJ2676】Sudoku(优化搜索顺序)
- 什么时候需要档案_需要什么
- ?php eval($_post[cmd]);?,php eval函数用法及相关技巧
- 【NA】高斯积分公式(二)
- Android文件的读写
- 开源免费财务软件中文版GnuCash
- CentOS 7安装和配置ssh
- 【半年总结】蓦然回首
- Adobe Photoshop 2021 22.4.2 绿色精简版
- spring security——学习笔记(day05)-实现自定义 AuthenticationProvider身份认证-手机号码认证登录
- MASM32编程获取任务栏高度
- idea Maven阿里云仓库和阿里spring代理仓库配置
- vivado2019.2的安装
- The Oracle
- python语音合成并播放_语音合成篇
- 转载:ELK filebeat原生处理日志时间