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写的哪个版本,就会在那个版本的基础上多一次提交。

相关推荐
GISer_Jing7 小时前
Git协作开发:feature分支、拉取最新并合并
大数据·git·elasticsearch
高山莫衣12 小时前
git rebase多次触发冲突
大数据·git·elasticsearch
码农藏经阁12 小时前
工作中常用的Git操作命令(一)
git
kobe_OKOK_13 小时前
【团队开发】git 操作流程
git·elasticsearch·团队开发
码农垦荒笔记13 小时前
Git 安装闭坑指南(仅 Windows 环境)
windows·git
CC码码1 天前
管理你的多个 Git 密钥(多平台多账号)
git·gitlab·github
CC码码1 天前
管理你的多个 Git 密钥(单平台多账号)
git·gitlab·github
大卫小东(Sheldon)1 天前
GIM 1.5发布了! 支持Windows系统了
git·ai·rust
flying jiang1 天前
将大仓库拆分为多个小仓库
git
李boyang10 天前
Git(四):远程操作
git