首页 > 其他分享 >Git撤销错误commit

Git撤销错误commit

时间:2023-08-22 22:55:49浏览次数:28  
标签:Git 代码 IDEA 撤销 git push commit

1、背景

新手程序员,对git一直玩不明白,一直会commit错自己的代码。

有的时候写自己的东西要push代码回去在另一台电脑上继续写,但是又不想保留自己的中间那次没用的commit,所以就有了这篇文章。

2、介绍

对于我们本地的代码,在commit后发现自己commit操作有误:commit了不想提交的代码/......

这时候只需要:

git reset --soft HEAD~1

注意:这里的soft会保留本地的代码,如果你使用hard,那么本地的代码也会变为上一次commit的内容

如果你手残,不小心把这个操作执行了两次,本来需要的commit也被你撤销了,那么只需要:

git reflog

这个命令可以查看你最近的操作记录和每个提交的SHA-1哈希值。

image-20230822222248383

查看到了SHA-1哈希值,使用如下的命令回滚到你需要的commit:

git reset 哈希值 --soft

此时你会发现,如果你reset的commit还没有push,那么在IDEA中,该commit就消失了,很好,这时候你就已经完成了。

但是,如果你需要撤销的commit已经push了,那么问题就来了:

在IDEA的Git中你依然能看见该commit,但是颜色不一致,代表你本地的代码版本覆盖到蓝色部分

image-20230822222752132

你需要强制push,来覆盖远端的那次commit:

image-20230822222924674

如果你使用IDEA的Push,会有如下提示:

这代表你当前的代码本地版本号小于远程版本号,push需要进行代码的合并

image-20230822223010425

然而我们不希望本地的push与远端不需要的那次commit进行合并,这样会保留那次不需要commit,所以我们应该使用强制push操作来覆盖:

git push origin <本地分支名>:<远程分支名>  -f

强制push成功:

image-20230822223422618

此时再查看IDEA的Git,可以看见不需要的commit已经被撤销了:

image-20230822223452450

标签:Git,代码,IDEA,撤销,git,push,commit
From: https://www.cnblogs.com/yikolemon/p/17649884.html

相关文章

  • docker上建一个jenkins容器 连gitee上代码 当更改代码后,浏览器页面更新
    1.dockerpulljenkinszh/jenkins-zh  2.设置端口  3访问本机的浏览器 跳转 4在cmd窗口输入命令 找到密码,输入,点击继续按钮 5下载默认推荐的插件 6填写账号和密码必须写自己设置的容器的账号和密码 7.  8进入主页面 9插件管理点击......
  • 20230822-github实现AB仓库通信全过程
    第一步注册github账号首先打开自己得github网址https://github.com/用自己常用得邮箱注册一个个人得github账号不多赘述第二步安装git工具账号注册完毕之后需要安装git工具紧接着就是下一步下一步程序得安装注意不要安装再c盘即可当本地出现以上图标window上是shift+右键则......
  • lerna 配置发布时 commitlint,提交信息
    要在Lerna配置中添加发布时的commitlint,你可以按照以下步骤进行操作:首先,确保你已经在项目中安装了commitlint。你可以使用以下命令进行安装:npminstall--save-dev@commitlint/cli@commitlint/config-conventional在你的Lerna项目的根目录下创建一个名为.commitl......
  • 2023-08-22 git remote -v 为空 ==》为空意味着没有你该仓库没有远程仓库地址
    我想给新建的项目A创建一个版本库,so,我gitinit,然后我用gitremote-v查看,回车然后就为空了,百度了一下,说是没有你该仓库没有远程仓库地址;我还以为会链接到我其他的仓库去,看来不会,so,我在github创建了一个远程仓库,然后用gitremote-v链接到该仓库;即gitremote-v远程仓库地址;回车......
  • Github网络访问设置
    作为一名IT服务人员,高效访问Github到是学习以及研发过程的一个重要阶段,或者说面试官发了一个链接过来,说看看这个项目你觉得如何,结果告诉面试官说,这个网页打不开呢?岂不尴尬,无形中就被pass掉了哇,Github上面有很多优秀的项目以及学习的代码资料,对于感兴趣的大大们,读懂代码是能够......
  • 软件测试|Git环境安装与配置指南
    简介Git是一个分布式版本控制系统,广泛用于团队协作开发和个人项目管理。相比于CVS和Subversion等传统的代码管理工具,因为采取了分布式的版本库,因此不需要服务端软件支持,Git也成为了大家进行版本控制的首选。在本文中,我们将为介绍Git的安装和配置,以便大家可以开始使用Git来管理我们......
  • IDEA配置Git仓库
          在.gitignore中配置忽略文件内容  **/target/.idea*.iml*.class*Test.java**/test/创建git本地仓库 点击后,选择项目主目录文件夹完成后出现如下界面,点提交 左侧出现如下界面 点commit,接下来如果弹窗提醒,继续点commit创建远程仓库  创......
  • 【github】基本操作
    github简介GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。基本操作模拟公司,家不同地点写代码,存储到远程仓库1、首先,需要注册github账号,并创建远程仓库2、家里写的代码,推送代码到远程仓库1、给远程仓库起别名gi......
  • Git常用命令
    Git不知道小伙伴们都接触过没,今天闲着没事我就来给大家讲讲Git这个分布式版本控制系统的一些常用操作命令。在讲操作命令之前,可能会有小伙伴会问,Git是什么啊,可能有的小伙伴还没有了解过,下面我先来给大家聊聊Git的概念。Git概念:Git是一个开源的分布式版本控制系统,用于敏捷高......
  • 【git】基本操作与流程
    基本操作流程1、第一阶段,单枪匹马干1.1:进入要管理的文件夹1.2:初始化gitinit1.3:管理目录下文件状态,新增或者修改过的文件都是红色的gitstatus1.4:管理指定文件,红变绿gitadd文件名称gitadd.1.5:个人信息配置,一次即可gitconfig--globaluser.ema......