git代码回滚的两种选择
回滚到指定commit,且保持该commit之前和之后的提交记录
使用git revert命令。
git revert HEAD                  // 回滚到前一次 commit
git revert HEAD^                // 回滚到前前一次 commit
git revert commitID (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff) //回滚到指定版本的前一次提交,撤销也会作为一次提交进行保存。
git revert是提交一个新的版本,版本会递增,不影响之前提交的内容。
实际体验
git revert命令使用体验糟糕。
git revert的原则是不影响之前提交的内容。
这意味着你在a文件修改了,commit了。
然后使用git revert回滚的commit id只是b文件的修改提交。
这时你的a文件修改还存在,没有被回滚。
git revert操作,也会常常导致conflict。
原因是之前版本的内容肯定和当前不一样。
你要解决conflict,才能生成一个新版本。
回滚到指定commit,丢弃该commit之后的提交记录
- 删除远程分支再提交
git reset --hard resetVersionHash
git push origin :currentBranch  //或者这么写git push origin --delete currentBranch
git push origin currentBranch
- 或者强制提交当前分支覆盖远程分支
git reset --hard resetVersionHash
git push -f origin currentBranch
git代码回滚的两种选择的更多相关文章
- git代码回滚:Reset、Checkout、Revert的选择
		代码回滚:Reset.Checkout.Revert的选择 Zhongyi Tong edited this page on Dec 8, 2015 · 5 revisions Pages 19 Ho ... 
- tortoisegit 代码的回滚方式 --两种
		TortoiseGit有两种回滚代码方式, 一种是导出指定版本代码为zip格式,不影响源代码:另一种是直接在源代码上回滚, 指定版本之后写的代码都会被删除.下面分别介绍这两种方法: 首先进入版本日志对 ... 
- 6.Git代码回滚
		1.代码修改并提交 我们已经成功地添加并提交了一个helloWorld.txt文件,现在,是时候继续工作了. 于是,我们继续修改helloWorld.txt文件,改成如下内容: $ vi helloW ... 
- git代码回滚
		有时候我们用git提交代码后发生了错误,代码冲突了啊等等,我们需要将代码回到以前的某个版本 git代码回退有两种办法 一.git reset(推荐): 它是将最新的commit删除,用以前的某个版本的 ... 
- 转一篇Git代码回滚技巧
		转 https://github.com/geeeeeeeeek/git-recipes/wiki/5.2-代码回滚:Reset.Checkout.Revert的选择 
- git 代码回滚与爬坑 -- reset and revert
		本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/git_code_roll_back_revert_and_res ... 
- 代码回滚:git reset、git checkout和git revert区别和联系
		git reset.git checkout和git revert是你的Git工具箱中最有用的一些命令.它们都用来撤销代码仓库中的某些更改,而前两个命令不仅可以作用于提交,还可以作用于特定文件. 因为 ... 
- 代码回滚:Reset、Checkout、Revert 的选择
		git reset.git checkout 和 git revert 是你的 Git 工具箱中最有用的一些命令.它们都用来撤销代码仓库中的某些更改,而前两个命令不仅可以作用于提交,还可以作用于特定文 ... 
- Git如何回滚代码?
		摘要: 多年以后,你面对一个需要回滚的Git仓库,准会想起这篇博客. 某一天,用户跟我反馈,他不能分配任务了.我去看了一下Fundebug捕获的报错信息: 可知,出错原因是前端发送的请求参数有问题.这 ... 
随机推荐
- bzoj4448 情报传递
			题目链接 离线+树上主席树,主席树维护时间标记 注意查询时如果c<0要把c赋为0: #include<iostream> #include<cstdio> #includ ... 
- Django框架----权限管理(设计分析以及具体细节)
			说起权限我们大家都知道,不一样的角色会有不一样的权限.比如就像学生管理系统一样,管理员,老师,学生之间的权限都是不一样的,那么展示的页面也是不一样的.所以,我们现在来看看具体操作. 目标:生成一个独立 ... 
- SpringMVC MultiActionController 默认方法名解析器
			MultiActionController默认方法名解析器是指在请求的地址中加入指定方法名称 MultiActionController类具有一个属性methodNameResolver,方法名解析器 ... 
- JDK 的配置和反编译工具的使用---------------Java知识点
			初始Java 1995年5月,sun公司开发了一门新的编程语言------Java 詹姆斯.高斯林(Java之父),Java语言小巧安全具有可移植可跨平台性的优点. 开发java程序的步骤:编写 ,编 ... 
- JOBDU 题目1131:合唱队形
			时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4546 解决:1445 题目描述: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形. ... 
- 全球最大的3D数据集公开了!标记好的10800张全景图
			Middlebury数据集 http://vision.middlebury.edu/stereo/data/ KITTI数据集简介与使用 https://blog.csdn.net/solomon1 ... 
- twiested 及其他轮子
			https://www.lfd.uci.edu/~gohlke/pythonlibs/ 
- Redis可以用来做什么?(摘自http://www.lianpenglin.cc廉鹏林博客)
			Redis 是互联网技术领域使用最为广泛的存储中间件,它是「Remote Dictionary Service」的首字母缩写,也就是「远程字典服务」.Redis 以其超高的性能.完美的文档.简洁易懂的 ... 
- django模板-通过a标签生成链接并跳转
			views.py from django.shortcuts import render from django.http import HttpResponse def index(request) ... 
- java Condition条件变量的通俗易懂解释、基本使用及注意点
			最近在看pthread方面的书,看到条件变量一节的时候,回忆了下java中条件变量的使用方式. java中条件变量都实现了java.util.concurrent.locks.Condition接口, ... 
