git撤销本地commit、撤销本地merge
写完代码后,我们一般这样
git add . //添加所有文件
git commit -m "代码提交" //提交代码
执行完commit后,想撤回commit,怎么办?
使用下面命令即可撤回:
git reset --soft HEAD^
这样就成功的撤销了最近一次的commit
本操作仅仅是撤回commit操作,写的代码仍然保留
说一下个人理解:
HEAD^ 的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2
至于这几个参数:
–mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的
–soft
不删除工作空间改动代码,撤销commit,不撤销git add .
–hard
删除工作空间改动代码,撤销commit,撤销git add .
注意完成这个操作后,就恢复到了上一次的commit状态。
顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:
git commit --amend
此时会进入默认vim编辑器,修改注释完毕后保存就好了。
撤销本地合并(merge)
git merge --abort
撤销远程提交(push)
git reset --hard 撤销并舍弃指定的版本号之后的提交记录。使用需要谨慎。示例: git reset --hard 773b0e55ad81a55d2f964d530443931f25bce9d8
然后需要push到远程分支,但是直接git push, 是会报错的,因为本地版本落后于远程,需要强制push
强制push 执行 git push -f 命令,然后查看本地和远程分支,可以看到我们的commit提交的那个版本没有了,版本回退到了提交之前的版本这种强制提交,如果使用的是gitlab, 权限不是maintainer, 提交也会失败,需要找管理员提交。
注意:这种方式会把提交的代码直接舍弃,非常不建议使用!第二种建议使用 git revert
(这种方法非常适用于提交后报错一直解决不了的,前提是提交前项目可以正常运行)
git revert 撤销。但是保留了提交记录。并且他是移除指定的提交。
获取需要回退的版本号,注意这里和上面的不一样,上面的是回退到之前的某一个版本,现在是撤销当前的版本。
1 执行 git log 命令 查看已经提交过的commit信息版本号
2 git revert 版本号,(例子 git revert 1212121212)
3 输入键盘 i 键,进入编辑状态,改一下提交的名称,
4 键盘Esc键,再去输入冒号 ,在输入 wq, 执行一下回车enter键,就ok了
5 然后再git push到远程分支,即可。
(当然了你在第3个步骤的时候也可以不编辑,直接操作下一步就行,
i ——> ESC ——> : ——> wq ——> enter ——>push)
这种方式可以只回退某一个版本,并且回退之后,还会保留之前版本的记录。推荐
git撤销本地commit、撤销本地merge相关推荐
- 【Git】Git 本地的撤销修改和删除操作
一:撤销操作 比如我现在在readme.txt文件里面增加一行 内容为555555555555,我们先通过命令查看如下: 在我未提交之前,我发现添加5555555555555内容有误,所以我得马上恢复 ...
- [Git]如何撤销上次commit
有的时候我们将某次修改commit了之后,突然想在其中某个文件中加点注释或去掉一些调试的log,但是又不想增加commit记录,那该怎么做呢? reset参数 -q, --quiet 安静模式,只报告 ...
- git 撤销上次commit提交
git撤销上次commit提交(还在本地) 1.git reset --soft head~1 (撤销上一次commit, 不会撤销git add) 2.git reset head~ (撤销上一次c ...
- git add 撤销git commit 撤销
一.git add 撤销 撤销add的指定文件: git reset HEAD 文件路径 git reset HEAD src\components\question\single 二.git com ...
- git commit撤销_Git 实用操作:撤销 Commit 提交
有的时候,改完代码提交 commit 后发现写得实在太烂了,连自己的都看不下去,与其修改它还不如丢弃重写.怎么操作呢? 使用 reset 撤销 如果是最近提交的 commit 要丢弃重写可以用 res ...
- git commit撤销_Git commit 提交一堆记录?试试撤回 commit 操作,你会爱上它
在项目开发中, git-commit 未 push 的代码,我们可能需要合并或者重新修改再 commit,避免提交记录过多.下面我们盘盘在 IntelliJ idea 不通过命令如何撤销操作?使用 g ...
- Git笔记(三)git commit撤销
Git笔记(三)git commit撤销 1.git commit撤销 1.git commit撤销 写完代码后,我们一般这样 git add . //添加所有文件 git commit -m &qu ...
- Git commit 撤销提交与查看提交的内容
撤销最近commit git reset --soft HEAD^ 查看所有commit记录 git log 查看最新的commit详情 git show 查看指定commit hashID的详情: ...
- Git操作之 git add 撤销、git commit 撤销
1.git add 添加多余文件 撤销操作 git reset HEAD 后面什么都不跟的,就是上一次add 里面的内容全部撤销 git reset HEAD XXX 后面跟文件名,就是对某个文件进行 ...
- Git 删除本地commit未push文件 ,push本地commit文件
1,起因 在push文件的时候, push了一个大家伙,有400M, 但是push要求单个文件大小不能超过200M 所以,这个大家伙已经进行本地commit,但又不能push上去, 导致在这之后需要p ...
最新文章
- ARP病毒查找与防范
- python优先队列_python实现最大优先队列
- 《maven实战》笔记(2)----一个简单maven项目的搭建,测试和打包
- var s=+newDate();的用法,表示对应的时间截
- 北大开源分词工具包: 准确率远超THULAC、jieba 分词
- 最全的iOS物理引擎demo
- 微信小程序中如何使用setData修改数组或对象中的某一参数
- 在Java中从字符串中删除空格
- caffe镜像︱window10+docker+ubuntu14.04+caffe镜像的简单尝试
- 云计算解码:技术架构和产业运营
- Docker以及Registry介绍
- The 'manifest_version' key must be present and set to 2 (without quotes)
- Vulkan Tutorial
- JavaScript简易文字对战游戏
- 常见的浏览器以及内核
- 【英语学习】星期的词源
- 怎么让maillog日志记录smtp是使用25端口还是465端口(SSL加密方式)
- Notepad++软件安装教程
- #10064 「一本通 3.1 例 1」黑暗城堡(spfa+乘法原理)
- word2CHM,做软件产品必备的说明书工具
热门文章
- 个人征信牌照发放历程-民兴
- RC5编码格式的遥控器解码、PCA9633器件控制代码示例、串口通信程序示例、IIC通信示例
- PAT (Advanced Level) Practise 1013. Battle Over Cities (25)
- Djiango SimpleUI后台优化
- Android基础学习笔记13:安卓触摸事件触摸按键
- [Reprint] C++函数模板与类模板实例解析
- 好记星不如烂笔头!就从今天开始吧~
- 医学自然语言处理(NLP)相关论文汇总之 EMNLP2020
- C++实现设计一个圆形类(Circle),和一个点类(Point), 	计算并判断点和圆的位置关系
- 初学画素描如何把球体画好