首页 > 其他分享 >git 回撤操作

git 回撤操作

时间:2023-09-13 15:34:01浏览次数:45  
标签:git revert 撤销 master 提交 操作 回撤 分支

背景:同一个分支上,比如做了10个功能,有10次提交记录,但是产品突然说后面的五个功能不要了

解决方案:git 的revert 命令。

git revert 命令的含义
git revert commitId

1.表示撤销某个提交,并不是说撤销至某个提交。

举个例子:
新增1.txt文件进行第一次提交,新增2.txt文件进行第二次提交;
此时使用 git log 命令找到第一次提交的 commitId,执行 git revert commitId,暂存区只会撤销新增的1.txt。

如果想要撤销多次提交怎么办?
典型的应用场景是某次提交后的n次提交都需要撤销;经过多次测试后,有两种方式可以解决。

第一种: 撤销1、2次左右的提交

直接一个个撤销吧,别多想。

1.找到要撤回的git操作,复制commitId

 2.执行指令 git revert (如果代码区有没推送的代码,则不可以执行该指令)

 3.执行成功,刷新源代码管理会有之前的代码,需要push上去覆盖没被撤回的代码

 4.推送上去代表撤回成功

 

第二种: 撤销4、5次左右的提交

将 master 分支倒数第5次(含)至倒数第3次(含)提交撤销:

git revert -n master~5..master~2
将 master 分支最后5次(含)提交撤销:

git revert -n master~5..master

第三种: 撤销更多次的提交

第一步:假设 master 分支需要撤销至某个提交(假设提交id是 commitId,某个提交本身不撤销哦),从某个提交检出分支 dev;

git checkout commitId -b dev
第二步:切换至 master 分支,将在 master 分支中而不在 dev 分支中的提交撤销(一定要加 -n,表示撤销后不执行提交,否则你撤销几个提交就要执行几次提交):

git checkout master
git revert -n dev..master
第三步:git commit 即可,撤销完毕的 dev 分支可以删除。

总结
撤销多次提交,如果是肉眼可数的几次提交需要撤销就用第一种,如果是很多次提交数不过来的那种情况,就用第三种。

 

标签:git,revert,撤销,master,提交,操作,回撤,分支
From: https://www.cnblogs.com/LylePark/p/17699820.html

相关文章

  • 【Linux】firewalld防火墙基本操作指令
    1,firewall-cmd--list-all   查询全部已开放端口 2,firewall-cmd--zone=public--add-port=8888/tcp--permanent    开放端口3,firewall-cmd--zone=public--remove-port=8888/tcp--permanent   关闭端口 4,firewall-cmd--reload   重启防......
  • 对SpringBoot接口进行操作日志记录
    最近业务有需求要对所有的用户操作进行日志记录,方便管理员查询不同权限级别的用户对系统的操作记录,现有的日志只是记录了异常信息、业务出错、重要功能的执行进行了记录,并不能满足需求要求,最直接的解决方法是在每个接口上去添加log.info之类的代码,但是这种方式对业务代码的切入性......
  • Lambda表达式中的in操作
    //首先,在程序中接受一个数组例如:int[]s=[1,2,3];//在Lamda表达式中使用如下:db.userinfo.where(u=>s.Contains(u.id));//等同于sql语句:select*fromuserinfowhereidin(1,2,3)原文链接:https://blog.csdn.net/qq_39569480/article/details/105249292......
  • Redis启动器项目RunRedisServer在github开源了
    Redis启动器项目RunRedisServer在github开源了,github最近访问有问题,今天在github上面也开源下。主要用来启动Redis程序加载对应的某个conf文件。github https://github.com/binghe021/RunRedisServer......
  • Xstream操作xml_The type org.xmlpull.v1.XmlPullParser cannot be resolved. It is i
    //1.再使用xstream解析xml时发现总是报错Thetypeorg.xmlpull.v1.XmlPullParsercannotberesolved.Itisindirectlyreferencedfromrequired.classfiles//从bug中可以看出 XmlPullParser这个类为找打xstream需要依赖这个类从网上搜了一下这个类看看属于哪个jar包发现......
  • 列表和元组的概念和操作(1)
    通用序列列表元组字符串通用的序列操作索引:可以使用例如greeting='Hello'greeting[0]这种操作获取第一个元素切片:切片适用于提取序列中的一部分,例如number=[1,2,3,4,5,6]number[1:4],输出的结果为[2,3,4],第一个索引是包含的第一个元素的编号,但第二个索引是切片......
  • 《Python编程从入门到实践》--- 学习过程笔记(4)列表操作
    一、遍历列表squares=('a','b','c','d')foriinlist(squares):print(i)二、python根据缩进来判断代码与前一个代码行的关系。(要注意缩进问题)for循环中,其下的所有缩进语句都属于for循环。三、数字列表创建及操作(1)range()函数。range(a,b)只打印a到b前一......
  • PyCharm 操作技巧
    一、PyCharm实现翻译功能(Translation)1.安装Translation插件1)开PyCharm,点击“File”->“Settings”打开设置界面。2)在左侧菜单中选择“Plugins”,在右侧搜索框中输入“Translation”,然后点击“Install”按钮进行安装。3)安装完成后,点击“OK”按钮保存设置,重新启动PyCharm使插......
  • Python文件操作
    Python文件操作文件的编码计算机只能识别:0和1,我们需要使用编码技术(密码本)将内容翻译成0和1存入。计算机中有许多可用编码:UTF-8、GBK、Big5等,不同的编码,将内容翻译的二进制也是不相同的。编码:编码就是一种规则集合,记录了内容和二进制间进行相互转换的逻辑。编码有许多中,我们......
  • 洛谷 AT_past202005_i 行列操作 の 题解
    这道题最难的点在于用什么方法存储矩阵$a$和一个特殊的操作方式。要存矩阵$a$,最先想到的是二维数组,但是二维数组开不到$1\len\le10^5$,所以可以用一个长度为$2\cdotn$的一维数组$m$来存。当$i\len$时,让一维数组$m_{i}$负责存第$i$行的内容;而当$n+1\lei......