git revert总结
git revert
git revert 是一种创建一次新的commit 来回退某次或某几次commit的一种方式
命令
// 创建一个新的commit,这个commit会删除(下面)commit-id的内容,但会在log中保留这个commit-id
git revert commit-id
// 批量回退 这个是前开后闭, 只revert了...和commit-id-end, commit-id-start没有撤销
git revert commit-id-start...commit-id-end
// 加上^ 就是前闭后闭,都撤销了
git revert commit-id-start^...commit-id-end
ps: 没有git revert 文件的操作,IDEA的撤销文件修改的操作(revert)用的不是git revert
例子:
原始log
31f6a64 (HEAD -> master) 提交 3
98d937c 提交 2
af02354 提交 1
目录下的内容为:
➜ revert_test git:(master) ls
1.txt
2.txt
3.txt
现在想删除 98d937c 的提交
执行
git revert 98d937c
再看目录下的内容为:
➜ revert_test git:(master) ls
1.txt
3.txt
说明确实去掉了98d937c 的提交内容(即2.txt 不在了)
再看日志:
d1ea1e9 (HEAD -> master) Revert "提交 2"
31f6a64 提交 3
98d937c 提交 2
af02354 提交 1
发现,其实是通过一次新的提交来删除98d937c 的提交内容的(这里可以看出之前的commit-id依然在)
再看批量回退
日志记录
a74b9bb (HEAD -> master) 提交 6
e3bbc59 提交 5
223171c 提交 4
d1ea1e9 Revert "提交 2"
31f6a64 提交 3
98d937c 提交 2
af02354 提交 1
现在回退 提交4 和提交5
执行
git revert 223171c^...e3bbc59
看日志
af51f68 (HEAD -> master) Revert "提交 4"
1a5d0c0 Revert "提交 5"
a74b9bb 提交 6
e3bbc59 提交 5
223171c 提交 4
d1ea1e9 Revert "提交 2"
31f6a64 提交 3
98d937c 提交 2
af02354 提交 1
产生了两次revert提交commit
git revert总结的更多相关文章
- git revert和reset区别
1.在github上建立测试项目并克隆到本地 2.本地中新建两个文本文件 3.将a.txt commit并push到远程仓库 执行 git add a.txt, git commit -m " ...
- git revert和git reset的区别
git revert 是撤销某次操作,此次操作之前的commit都会被保留 git reset 是撤销某次提交,但是此次之后的修改都会被退回到暂存区 具体一个例子,假设有三个commit, git s ...
- 代码回滚:git reset、git checkout和git revert区别和联系
git reset.git checkout和git revert是你的Git工具箱中最有用的一些命令.它们都用来撤销代码仓库中的某些更改,而前两个命令不仅可以作用于提交,还可以作用于特定文件. 因为 ...
- [译]git revert
git revert git revert用来撤销一个已经提交了的快照. 但不是从项目历史中移除这个commit, 而是生成一个新的commit, 老的commit还是保留在历史项目里面的. 这样做的 ...
- git revert 和 git reset的区别
git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销 作为一次最新的提交 * git revert HEAD ...
- Git学习笔记 git revert
我们难免会因为种种原因执行一些错误的commit / push,git提供了revert命令帮助程序员修复这样的错误. 举个例子,下图是git commit 的历史记录 git revert 命令会通 ...
- git的几种回滚 git revert 和 git reset的区别
git的几种回滚 git revert 和 git reset的区别:强烈建议:对HEAD不熟的话最好不要用HEAD,直接用commitID吧,我遇到的问题:reset HEAD~1之后,可能是别人提 ...
- git revert 用法
git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交 * git revert HEAD ...
- 关于git reset和git revert之前的区别
很多时候,git新手容易误操作,比如,在levelIISZ-1.4.dev分支下,运行了git pull idc cpp-1.0的结果,这样做麻烦很大,经常导致maven项目格式不正确,这个时候,可以 ...
- git reset、git checkout和git revert的区别
这三个git命令都是用来撤销代码仓库中的某些更改,而前两个命令不仅可以作用于commit层面,还可以作用于file层面Reset在commit层面,reset通过移除当前分支的一些节点来实现版本回滚; ...
随机推荐
- 2022giao考游记
Day -12: 今年高考准备去考着玩玩,考前心态十分稳健.~~毕竟我才高一/cy~~ 这次高考我倒是没啥目标,主要是来试试水,感受一下高考的氛围,体会一下自己和高三应届生们的水平的差距.也算是丰富自 ...
- RPA纳税申报机器人
1.机器人开始工作 2.机器人打开企业内部税务平台,自动下载报税底表 3.机器人自动登录地方税务局,填写报税数据 手工报税10分钟/3个表 VS 机器人报税时间2分钟/3个表 处理时间缩短80% 报税 ...
- linux中CentOS配置文件编辑错误撤回
未编辑状态下 U键 撤销 DD 快速删除
- Python中使用 for 循环来拿遍历 List 的值
常规版本 简单的 for 循环遍历 x_n = ["x1","x2","x3"] for x in x_n: print(x) >&g ...
- 04 MySQL_数据相关的SQL
字符编码问题: 如果使用Windows电脑SQL语句中写中文报错的话,通过以下指令解决 set names gbk; 判空NULL问题: 判值用=,判空用is xxx = 非空值; xxx is nu ...
- golang面试-代码编写题1-14
目录 1.代码编写题--统计文本行数-bufio 2.代码编写题--多协程收集错误信息-channel 3.代码编写题--超时控制,内存泄露 4.代码编写题--单例模式 5.代码编写题--九九乘法表 ...
- tokitsukaze and Soldier 来源:牛客网
题目 链接:https://ac.nowcoder.com/acm/contest/28886/1004 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K, ...
- 【Docker】使用Docker Client和Docker Go SDK为容器分配GPU资源
目录 背景 使用 Docker Client 调用 GPU 依赖安装 安装 Docker 安装 NVIDIA Container Toolkit¶ --gpus 用法 使用 Docker Go SDK ...
- Javaweb06-JDBC
1.jdbc.properties配置文件 jdbc.properties driverClass=com.mysql.jdbc.Driver jdbcUrl=jdbc:mysql://localho ...
- mui 登录跳转到首页之后顶部选项卡不灵敏问题
前段时间开发一个用mui开发app的时候遇到了登录跳转到首页之后顶部选项卡会失灵的问题,多次尝试之后终于解决了,趁现在还有点印象记录一下吧. 一开始我是用mui.openWindow来新开首页的,出了 ...