git 回滚、取消commit、取消merge等回退操作
前言
在此之前,建立一个约定。
commit会产生提交id,merge之后也会产生提交id。也就是说merge是commit的一种操作。
但是为了表达方便,我们将commit和merge统称为更新,commit只是单指当前分支的提交,而merge单指合并操作。
正文
首先明确下问题:
- 回滚
将当前的version重置到某次提或者合并,在此次提交或者合并之后的更新都会被丢弃。
比如 git reset --hard - 取消commit
将某次commit的更新取消,但是这次commit的前后更新都不受影响。
比如 git revert commit_id - 取消merge
将某次merge取消,但是其前后的更新都不受影响。
比如 git revert commit_id~number
number是这次merge的提交。
eg:
git log
- git revert fe6368d8b7c4e73137865b2f7de944aac8f508d6~2
那么这次fe6368d8b7c4e73137865b2f7de944aac8f508d6对应的2次更新 8134271和4c63926都会被取消 - git git revert fe6368d8b7c4e73137865b2f7de944aac8f508d6 -m 1
只会取消8134271这次更新
- git revert fe6368d8b7c4e73137865b2f7de944aac8f508d6~2
据我所知,回滚其实用的很少,因为如果某次更新有问题,那么需要取消某次更新而不应该粗暴的回滚到那次更新之前(会操成误伤,抹去了别人的更新)。
所以推荐还是使用gir revert。
当然–soft 和–hard --mixed的区别可以如下理解:
- soft
只操作了HEAD,暂存区和work都没有被影响 - hard
操作了HEAD、暂存区和work,都被影响了 - mixed
操作了HEAD、暂存区,work没有被影响
git 回滚、取消commit、取消merge等回退操作相关推荐
- git回滚已经commit的文件
1.查看commit了的上一个版本的版本号 git log 查看日志 拿到上一个版本的版本号 2.然后回滚 git reset --soft 版本号 会将改动放在缓存区 git reset --mix ...
- 【Gitlab】GIT回滚master分支到指定tag版本 并提交远程仓库
[Gitlab]GIT回滚master分支到指定tag版本 并提交远程仓库 1 查看分支 git branch 2 切换到master分支 git checkout master 3 查看标签 git ...
- 在idea中纯界面进行git回滚操作
在idea中git回滚操作 红色:工作区 绿色:缓存区 白色:已提交(本地版本库或者远程版本库) 通常我们都是在缓存区中写代码 第一步:reset到回滚的版本 找到需要回滚的版本,将代码重置到需要回滚 ...
- Git回滚版本并push到远端master
办法一. [Gitlab]GIT回滚master分支到指定tag版本 并提交远程仓库 1 查看分支 git branch 2 切换到master分支 git checkout master 3 查看标 ...
- git 代码回滚_能提交到远程的Git回滚
很多情况下我们需要回滚代码,最容易想到的就是git reset.但是git reset有个弱点,它是一个彻底的回滚,不能再提交给远程了,因为在提交记录里回滚点之后的记录都不见了. 做一下试验,一个文件 ...
- git-代码撤销、回滚到任意版本(git回滚命令reset、revert的区别)
文章目录 一.Git 代码撤销.回滚到任意版本(当误提代码到本地或master分支时) 二.git回滚命令reset.revert的区别 1. 背景知识 2. 方法一:git reset(回退) 3. ...
- git 回滚/撤回提交代码、误删、误提交恢复
git回滚找回代码 上情况 情况1 git pull的时候发生冲突,修改失误,并commit了,怎么恢复? 查看所有的commit提交日志,并获取提交id git log commit 0992046 ...
- Git 回滚 checkout、reset、revert
Git 回滚 checkout.reset.revert 首先看一下 Git 的工作流程 checkout 是检出的意思,作用是将某次 commit 的状态检出到工作区,它的过程是先将 HEAD 指向 ...
- Git 回滚命令笔记
Git 回滚命令 一.未提交 未提交有以下两种情况: 1)已经在工作区修改了文件,但还未执行 git add 提交到暂存区. 2)已经执行了 git add 提交到暂存作,但还未执行 git comm ...
- 1.2 git回滚操作
1.远程仓库中有的文件,但是本地要给删除掉,如何同步 git ls-files //查看暂存区是否有该文件,以readme.md为例 git rm -r --cached readme.md //删除 ...
最新文章
- 空标签作为占位符调整距离
- LIGA Stereo:基于双目3D检测的Lidar几何感知表示学习(ICCV2021)
- python处理数据的优势-选择python进行数据分析的理由和优势
- python读取txt文件并批量写入不同的excel
- 第四周作业(基础题)
- 不搞虚的!快速把你拉入Docker 的门里 | 原力计划
- 移动端实现内滚动的4种方案
- Python 基础学习Chapter6
- 蓝牙音乐之AVRCP
- 专访李运华:程序员如何在技术上提升自己
- 大数据营销咨询公司AIO获数百万美元天使轮融资
- 微型计算机的英文术语,计算机常见英语词汇解释
- oracle wallet使用与维护
- Java实现 LeetCode 345 反转字符串中的元音字母
- java autoconf_Centos7安装autoconf
- VS连接Linux服务器
- 解读开源中国oschina App(thanatosx版)引导贴
- Windows注册表中保存的信息及环境变量中SystemRoot在注册表中的位置
- linux 挂载 SD 卡
- vt版本不见了_BIOS问题 我的版本BIOS 找不到 开启 intel vt-x功能
热门文章
- 从面试官的角度谈谈后端面试
- 【SVAC1】SVAC1.0场解码相关分析
- 程序员撩妹,你得看我教你的小技巧
- 人脸活体检测论文:Multi-Modal Face Anti-Spoofing Based on Central Difference Networks
- 【绝对经典】骂人口误.......................
- 什么蓝牙耳机颜值高?盘点四款高颜值蓝牙耳机
- 亚马逊dynamo高可用性关键字仓库
- 解密微信小程序用户敏感数据获取用户信息
- M1芯片处理器mac能用的AI(llustrator CC 2021 直装版M1优化版)解决M1版MAC安装AI闪退问题 完美支持M1芯片处理器
- Python用python-docx抓取公众号文章写入word