git 后悔药

前言

自上而下,撤销可以分为从远程库撤销,从本地库撤销,从暂存库撤销。

例子:代码已经提交了三个记录到远程库,分别对应了记录1,内容1,记录2,内容2,记录3,内容3. 现在应该写4,但是不小心写了5并且还提交了。

这个时候肯定要撤销的。

步骤:

1、先本地撤销:

java 复制代码
git reset [--soft | --mixed | --hard --keep] [HEAD|版本号]

2、然后推送

java 复制代码
git pull origin master
解决冲突
git push origin master

PS: 提交记录3里面是内容3,所以这是我错误提交记录前最新的版本,reset到这个版本。

撤销模式说明:

四种模式在撤销回滚时,都会让HEAD指针改变指向到指定版本。

java 复制代码
Soft:回滚代码到指定版本时,工作区文件不会做改变,相较于指定版本多出的更新将会被暂存等待提交
Mixed:回滚代码到指定版本时,工作区文件不会有改动,但是暂存会被清空
Hard:回滚到指定版本时,工作区内容会回滚到指定版本,暂存也会被清空(慎重,未提交的代码有丢失风险)
Keep:回滚到指定版本时,工作区内容会回滚到指定版本,暂存区未提交内容会保存

一般选择mixed

修改为正确内容4

pull以下,会发现有冲突,解决冲突,选择本地的代码,然后正常push就可以了

我这里前面操作过了,所以正确内容为6,错误内容为7.



相关推荐
挖掘狂人8 小时前
Git 从 0 到 1:用一个小项目走完 add / commit / reset / merge / rebase / push
git·后端·github
codigger9 小时前
Git 三区域模型:把 add、commit、reset、merge 一次讲透
git·github·编程·编程语言
水饺编程10 小时前
第1章:开发环境搭建,在 Windows 中安装 Git
linux·c语言·汇编·git·ubuntu
idanzk10 小时前
Git 推送 GitHub 报 SSL_READ /src refspec main 不匹配 完整踩坑记录
git·github·ssl
星恒随风12 小时前
Linux开发工具详解(二):Git版本控制、GitHub协作与GDB调试实战
linux·笔记·git·学习·github
寺中人1 天前
Xshell 完全入门指南:从安装到实战,远程连接+文件传输+会话管理全拆解
git·ssh·github·php·远程连接·xshell·运维工具
酬谢神明则必安1 天前
git学习记录01
linux·git·学习
lingchen19061 天前
版本控制 Git源代码项目管理
git
虫无涯1 天前
Coverity 如何结合 GJB8114-2013使用?
git·单元测试·嵌入式测试·coverity·静态扫描
喵本喵叁肆1 天前
Git 深度解读:从对象模型到分支指针,把版本控制的内核讲透
git