Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >git commit回滚

git commit回滚

作者头像
艳龙
发布于 2021-12-16 09:29:59
发布于 2021-12-16 09:29:59
8.9K00
代码可运行
举报
文章被收录于专栏:yanlongli_艳龙yanlongli_艳龙
运行总次数:0
代码可运行

从svn 迁移到 git,已经有很长时间。git 的基本命令已经可以说是熟练的掌握,能够满足日常的开发。想了解常用git命令可以查看: 常用git命令

但是也有一些不常用,但在关键时刻又非常有用的命令,这里就介绍一种:撤销已经提交的commit

1. 应用场景 :

撤销已经提交的commit

2. 解决方案:

  1. 使用 git reset --hard HEAD^
  2. 使用 git rebase -i HEAD~n

下面分别介绍下这两个方案有什么不同,和他们的使用场景 。

2.1 git reset --hard 丢弃最新的提交

代码提交后,需求发生变化导致之前提交的已经不合适,或者 代码提交后发现有严重bug,需要回滚可是使用这个命令:

git reset --hard HEAD^

tips:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1HEAD^   表示 最新提交HEAD位置往回数一个提交, 几个 ^  就往回数几个提交;

2HEAD~n  表示 新提交HEAD位置往回数n个提交

可以发现,reset 命令只能回滚最新的提交。

如果最后一次commit需要保留,而只想回滚之前的某次commit,reset命令可能就无法满足了。(这个场景我第一次遇到的时候很是抓瞎)

2.2 git rebase -i 丢弃指定提交

针对想撤销中间某次commit的情况,可以使用如下的命令:

git rebase -i HEAD~2

tips:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1`rebase -i``rebase --interactive` 的缩写;
2,  `git rebase -i` 不仅可以删除commit, 还可以修改commit。 具体的可以查看rebase 中提示的参数

输入git rebase -i HEAD~2命令后,会出现一个编辑页面如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ git rebase -i HEAD~2

drop e47fa58 提交11
pick 338955c 提交12

# Rebase 7f83da3..338955c onto 7f83da3 (2 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup <commit> = like "squash", but discard this commit's log message
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# .       create a merge commit using the original merge commit's
# .       message (or the oneline, if no original merge commit was
# .       specified). Use -c <commit> to reword the commit message.
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
~      

编辑界面能够执行的操作,都有罗列出来:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
`edit: 使用本次提交,在rebase到这次提交时候,会暂停下来等待修正`
`pick:使用本次提交,不操作修改`
`drop:删除这次提交`
`...`

这里的目标是删除倒数第二个提交,所以将倒数第二个提交前面修改为drop, 然后退出编辑界面就可以了。

再通过 git log 查看提交历史的时候,就会发现e47fa58 的提交记录已经不见了。

总结:

  1. 回滚最新的提交 :git resetgit rebase 命令都可以
  2. 回滚中间某次提交: git rebase 可以, git reset 不可以
  3. 如果提交已经同步到远程仓库,需要使用git push origin -f branch(分支名) 来将回滚也同步到远程仓库(master 分支谨慎使用 -f)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/11/7 下,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
EasyCVR级联上级平台无法播放云端录像是什么原因?
EasyCVR视频平台支持云端录像和设备录像,云端录像可以通过录像计划来进行配置,有全局录像计划和单通道录像计划两种模式,可根据需求自由选择。由于云端录像一般来说是可以永久保存的,因此很多用户会选择将视频流进行云端录像。
TSINGSEE青犀视频
2021/07/22
5190
EasyCVR级联上级平台无法播放云端录像是什么原因?
RTSP/Onvif协议EasyNVR平台流媒体内核启动失败的原因是什么?
TSINGSEE青犀视频在去年对旗下的视频平台EasyNR、EasyGBS、EasyCVR等均更换了新的流媒体内核,新内核版的视频平台性能更加稳定和流畅,平台丰富灵活的视频能力,可满足用户在多场景中的视频监控需求。其中,EasyNVR平台是基于RTSP/Onvif协议的视频平台,可实现的能力有视频监控直播、录像、视频转码分发、检索与回放、存储、智能告警、国标级联等。我们也在积极拓展AI智能检测分析技术,欢迎大家关注我们的更新。
TSINGSEE青犀视频
2022/04/12
6530
视频上云安防视频云服务平台EasyCVR通过海康sdk协议接入多路设备拉流时出现部分设备拉流不稳定是什么原因?
TSINGSEE青犀团队研发的安防视频云服务EasyCVR能够接入RTSP、GB28181、HIKSDK、Ehome等协议,是一套融合性极强的视频平台。我们介绍过安防视频云服务EasyCVR是如何对接海康SDK以及Ehome等私有协议的,不会操作的用户可以了解一些配置过程。
EasyNVR
2020/10/19
1.1K0
视频上云安防视频云服务平台EasyCVR通过海康sdk协议接入多路设备拉流时出现部分设备拉流不稳定是什么原因?
EasyNVR平台级联到EasyCVR,视频播放一会就无法播放是什么原因?
TSINGSEE青犀视频的平台(EasyGBS/EasyNVR/EasyCVR)可支持级联功能,平台可通过国标GB28181协议向上级平台级联,也可作为上级平台,让下级平台通过国标GB28181协议级联。级联功能在安防等场景应用中,具有非常重要的意义,它可以实现数据的互联共享、灵活调度,打破系统的数据孤岛,让信息得到高效的交互。
TSINGSEE青犀视频
2022/08/01
2530
H.264播放器在视频播放时报错Mixed Content的问题排查与解决
TSINGSEE青犀视频开发的视频流媒体播放器EasyPlayer系列,均可支持H.264、H.265编码格式的视频播放,支持WS-flv、flv、hls、RTMP的视频流,能满足用户多场景下的播放需求。
TSINGSEE青犀视频
2021/05/08
1.3K0
老版本EasyCVR通过海康Ehome接入无法播放WebRTC视频的解决办法
EasyCVR视频融合云服务是一款支持多种流媒体视频协议的视频平台,除了国标GB28181、RTSP/Onvif、RTMP等协议外,还支持海康Ehome、海康SDK、大华SDK等。在视频流输出上,可支持WS-FLV、HTTP-FLV、HLS、WebRTC等视频格式。
TSINGSEE青犀视频
2022/03/29
5190
安防视频汇聚平台EasyCVR调用播放接口的详细流程
视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、H.265自动转码H.264、平台级联等。为了便于用户二次开发、调用与集成,我们也提供了丰富的API接口供用户使用。
TSINGSEE青犀视频
2023/10/31
2950
EasyCVR切换为新版本时设备全部离线,用户应该如何正确配置MySQL数据库?
关于TSINGSEE青犀视频平台数据库切换的操作步骤、迁移数据时遇到的异常等相关技术类文章,我们在博文中分享过很多,感兴趣的用户可以翻阅我们的往期文章进行了解。TSINGSEE青犀视频的旗下视频平台默认数据库是SQLite,用户可以根据需求将其更换为MySQL数据库。
TSINGSEE青犀视频
2022/08/16
5430
全协议视频服务云平台EasyCVR页面播放视频失败出现‘X’的报错如何处理?
视频融合共享AI智能分析平台EasyCVR是由TSINGSEE青犀视频开发的视频服务平台,可以根据不同客户端平台进行全平台直播,支持H.265编码视频Web直播,可以分发RTMP、RTSP、HLS、HTTP-FLV等视频流。
TSINGSEE青犀视频
2021/05/14
8620
如何将安防视频监控系统/视频云存储EasyCVR平台推流到公网直播间?
视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、H.265自动转码H.264、平台级联等。为了便于用户二次开发、调用与集成,我们也提供了丰富的API接口供用户使用。
TSINGSEE青犀视频
2023/09/15
2980
EasyCVR上级级联华为平台请求播放崩溃如何排查及处理?
支持RTSP、GB28181、SDK、Ehome协议的视频平台EasyCVR支持将所有视频通道级联到上级平台上,且支持同一通道级联到多个上级平台,这一操作给很多用户的级联带来了便捷。
TSINGSEE青犀视频
2021/07/22
3790
EasyCVR的网络环境和post端口号的不匹配导致视频无法播放的问题
视频平台服务软件中,端口一般指网络中面向连接服务和无连接服务的通信协议端口,包括一些数据结构和I/O(基本输入输出)缓冲区。我们常常说使用TSINGSEE青犀视频云边端架构一定要打开对应的端口,否则会造成网络堵塞。但是在实际使用中,还是有很多用户会因为端口问题而出现报错。
TSINGSEE青犀视频
2021/05/21
6450
流媒体播放器EasyPlayer.js播放H.265视频,无法截取快照是什么原因?
TSINGSEE青犀视频的流媒体播放器EasyPlayer视频播放器,可支持H.264与H.265视频编码格式,性能稳定、播放流畅,还能支持RTSP、RTMP、HLS、FLV、WebRTC等视频流播放,并且已实现网页端实时录像、在iOS上实现低延时直播等功能。目前TSINGSEE青犀视频的所有视频监控平台均使用的是EasyPlayer.js播放器,也是最受用户及开发者欢迎的一款H5流媒体播放器。
TSINGSEE青犀视频
2023/08/01
3920
TSINGSEE青犀视频播放视频流的编码格式和封装格式有什么关系?
TSINGSEE青犀视频经过在视频平台项目开发过程中的多年积累和沉淀,已经有了EasyNVR、EasyGBS、EasyDSS、EasyCVR等优秀的视频流媒体软件平台,此外还具有EasyNVR、EasyCVR的视频边缘智能网关设备。不管是软件平台还是网关设备,都具备接入视频通道进行转码、直播、分发的基础功能。
TSINGSEE青犀视频
2021/07/27
5280
WebRTC视频无法播放,如何在EasyCVR添加UDP打洞程序?
TSINGSEE青犀视频旗下的视频平台可支持多协议、多类型的海量设备接入与分发,包括国标GB28181协议、RTMP、RTSP/Onvif等安防标准协议,以及厂家私有协议如海康ehome、海康SDK、大华SDK等。在视频输出上,可支持RTSP、FLV、HLS、WebRTC等格式。
TSINGSEE青犀视频
2022/04/21
8360
EasyCVR接入设备后播放视频出现卡顿现象的原因分析及解决
EasyCVR平台支持多类型设备、多协议方式接入,包括市场主流标准协议国标GB/T28181、RTMP、RTSP/Onvif协议等,以及厂家私有协议,如海康SDK、大华SDK、海康Ehome等。平台可将接入的流媒体进行处理及分发,分发的视频格式包括RTSP、RTMP、FLV、HLS、WebRTC等。
TSINGSEE青犀视频
2022/07/28
6630
TSINGSEE青犀视频汇聚平台EasyCVR多种视频流播放协议介绍
视频监控综合管理平台EasyCVR具备视频融合能力,平台基于云边端一体化架构,具有强大的数据接入、处理及分发能力,平台既具备传统安防视频监控的能力与服务,也支持AI智能检测技术的接入,可应用在多行业领域的智能化监管场景中。EasyDarwin开源流媒体视频EasyCVR安防监控平台可提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、云台控制、语音对讲、智能分析等能力。
TSINGSEE青犀视频
2023/08/01
3180
RTSP/GB28181/HIKSDK/Ehome协议视频平台EasyCVR级联两个上级平台通道数不一致的BUG解决
TSINGSEE青犀视频研发的视频平台中,除了EasyGBS视频平台是通过GB28181协议主动注册外,还有EasyCVR也可以通过GB28181进行国标视频平台的注册及平台级联。
EasyNVR
2020/10/10
7330
RTSP/GB28181/HIKSDK/Ehome协议视频平台EasyCVR级联两个上级平台通道数不一致的BUG解决
安防视频监控平台EasyCVR集成到ios系统不能播放是什么原因?如何解决?
视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持视频定时轮播。视频监控汇聚平台EasyCVR支持多种播放协议,包括:HLS、HTTP-FLV、WebSocket-FLV、WebRTC、RTSP、RTMP,并且支持对外分享。
TSINGSEE青犀视频
2023/10/11
2330
视频监控汇聚平台EasyCVR告警消息生成后,合成录像显示不了是什么原因?
智能视频监控平台TSINGSEE青犀视频EasyCVR具备视频融合汇聚能力,作为安防视频监控综合管理平台,它支持多协议接入、多格式视频流分发,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。国标GB视频平台EasyCVR部署轻快、可拓展性强、视频能力灵活。
TSINGSEE青犀视频
2023/08/01
1990
推荐阅读
EasyCVR级联上级平台无法播放云端录像是什么原因?
5190
RTSP/Onvif协议EasyNVR平台流媒体内核启动失败的原因是什么?
6530
视频上云安防视频云服务平台EasyCVR通过海康sdk协议接入多路设备拉流时出现部分设备拉流不稳定是什么原因?
1.1K0
EasyNVR平台级联到EasyCVR,视频播放一会就无法播放是什么原因?
2530
H.264播放器在视频播放时报错Mixed Content的问题排查与解决
1.3K0
老版本EasyCVR通过海康Ehome接入无法播放WebRTC视频的解决办法
5190
安防视频汇聚平台EasyCVR调用播放接口的详细流程
2950
EasyCVR切换为新版本时设备全部离线,用户应该如何正确配置MySQL数据库?
5430
全协议视频服务云平台EasyCVR页面播放视频失败出现‘X’的报错如何处理?
8620
如何将安防视频监控系统/视频云存储EasyCVR平台推流到公网直播间?
2980
EasyCVR上级级联华为平台请求播放崩溃如何排查及处理?
3790
EasyCVR的网络环境和post端口号的不匹配导致视频无法播放的问题
6450
流媒体播放器EasyPlayer.js播放H.265视频,无法截取快照是什么原因?
3920
TSINGSEE青犀视频播放视频流的编码格式和封装格式有什么关系?
5280
WebRTC视频无法播放,如何在EasyCVR添加UDP打洞程序?
8360
EasyCVR接入设备后播放视频出现卡顿现象的原因分析及解决
6630
TSINGSEE青犀视频汇聚平台EasyCVR多种视频流播放协议介绍
3180
RTSP/GB28181/HIKSDK/Ehome协议视频平台EasyCVR级联两个上级平台通道数不一致的BUG解决
7330
安防视频监控平台EasyCVR集成到ios系统不能播放是什么原因?如何解决?
2330
视频监控汇聚平台EasyCVR告警消息生成后,合成录像显示不了是什么原因?
1990
相关推荐
EasyCVR级联上级平台无法播放云端录像是什么原因?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验