Git push后撤销提交

一、介绍

当某次更改完工程后,push了本地仓库到云端,但是发现有地方改错了,想撤销这次推送,或者某次提交就更改了很小一部分,想和本地这次修改的合并为一次推送,省的在云端显示特别多次提交,显得非常乱。

二、命令

  1. 首先通过**git log --oneline**命令查看之前的提交信息

    git log --oneline

  2. 使用git reset命令回退,--soft会保留本地更改,--hard不会保留本地更改

意思就是如果你本地更改了,最好用--soft,因为他会保留你现在的更改,如果使用了--hard,他会直接把你本地更改覆盖,直接退回你填写的ID那个版本

复制代码
git reset --soft 要回退到哪次提交的ID
  1. 再次使用git log --oneline命令查看,发现在你填写的回退ID版本之后的提交都没了

4.更改完成后,在使用git add 和 git commit 重新提交本地仓库

5.将本次提交强制推动到云端仓库,一定要加--force,不然是推送不上去的

复制代码
git push origin 分支名 --force

这时候发现云端仓库还是显示一次提交,相当于你撤销了上一次提交,只提交了本次,但是云端可以看出来这次提交是强制提交

这种不仅能撤回一次提交,根据你写的要回退版本的ID来的,你ID写的哪个版本,就会在那个版本的基础上多一次提交。

相关推荐
OsDepK1 小时前
OSMDE手机AI编程,一键Git
git·ai编程
用什么都重名7 小时前
Git分支合并与远程服务器同步实战:保留关键配置文件
运维·服务器·git
得要找到一束光8 小时前
git详细命令
git·github
2601_961875249 小时前
花生十三公考课程|网课|视频
数据库·windows·git·svn·eclipse·github
EleganceJiaBao13 小时前
【Git】Git reset 完整指南:真正理解 HEAD、暂存区与工作区
git·github·reset
我最爱吃鱼香茄子15 小时前
【保姆级】Git配置用户名和邮箱(全局/局部)解决提交记录不识别、贡献图不亮问题
git·gitee·github·小白教程·git配置·程序员开发工具
weixin_5716674115 小时前
git fork 并建立自己的dev分支 保持与源仓库的联系
git
master33615 小时前
git仓库通过脚本完成多个远程仓库同步
大数据·git·elasticsearch
用什么都重名15 小时前
Git 合并两个无共同历史的分支:从报错到解决全记录
git·gitlab
2601_9618752416 小时前
花生十三资料网盘|百度云|下载
数据库·windows·git·svn·eclipse·github