git系列之revert回滚

1. Git 使用cherry-pick"摘樱桃"

step 1: 本地切到远程分支,对齐要对齐的base分支,举例子 localmap

cpp 复制代码
git pull 
git reset --hard localmap 对应的commit id

step 2: 执行cherry-pick命令

cpp 复制代码
git cherry-pick abc123

这样就会将远程分支gq/localmap中哈希值为abc123的提交应用到本地分支localmap-dev上。

step 3:

全文搜索

cpp 复制代码
>>>>>>

处理冲突即可

2. Git 使用revert回滚已提交的commit

在git使用中如果提交错误的代码至远程服务器,可以使用git revert 命令回滚单次commit并且不影响其他commit。

回滚最新一次的提交记录: git revert HEAD

回滚前一次的提交记录 : git revert HEAD^

对历史上的commit回滚: git revert

回滚历史commit很容易产生文件冲突,需要做好冲突处理。

使用SourceTree进行commit revert

在准备revert 的commit上右键 选择 reverse commit。 revert命令与reset命令不同,是生成一次新的commit冲抵原来的commit, reset直接删除某些commit的内容。Revert历史上的commit 很容易产出文件冲突, 在这次回滚中,对于有冲突的文件都没有进行回滚,只将未产生文件冲突的文件进行了回滚。

确认生成的新commit编译成功,也没有文件冲突,可以push到服务器,完成回滚。

相关推荐
ControlRookie3 小时前
SyncBridge:一个 CODESYS 工程与 AI 之间工程师级的同步工具
git·ai编程·codesys·工业软件·controlrookie
不会就选b3 小时前
Linux之TCP理论<1>
linux·运维·服务器
小π军4 小时前
操作系统面试题
java·linux·服务器
Android系统攻城狮5 小时前
Linux Gstreamer深度解析之gst_audio_encoder_get_frame_samples_min调用流程与实战(六十)
linux·运维·服务器·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
大猫会长8 小时前
调用codebuddy集成的supabase授权白屏解决方法
linux·运维·服务器
夜之眷属9 小时前
服务器被挖矿病毒入侵的排查与清理实录
运维·服务器
最强小杰9 小时前
Claude Opus 4.8 调用一直报 529 怎么办?同样请求换旧模型却正常——附 429/529 双桶退避代码
ai·github
传人9 小时前
为什么 Xshell 中可以通过java -version查询到java 版本号码,Electerm 却查不到?
java·linux·服务器
陌上花开缓缓归以10 小时前
mebdlts3.4.1安全启动全流程
服务器·算法
鬼手点金10 小时前
opencode-全能开发者配置
java·linux·服务器·前端·javascript·学习·前向传播