idea撤销git add或者commit(未push)或者push的文件

这篇具有很好参考价值的文章主要介绍了idea撤销git add或者commit(未push)或者push的文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Undo Commit,Revert Commit,Drop Commit的区别

是否删除对代码的修改 是否删除Commit记录 是否会新增Commit记录
Undo Commit 不会 未Push会,已Push不会 不会
Revert Commit 不会
Drop Commit 未Push会,已Push不会 不会

一、前言

某次在idea中执行commit后(未push), 发现提交代码错误了想撤回,此篇文章整理这种情况下如何撤回。

如下图:(commit提交了一次测试记录(未push),新增了Test.java文件)
git 撤销所有未push的commit,git,idea,git

二、退回commit(未push)

2.1、方式一:undo commit

适用情况:代码修改完了,已经Commit了,但是还未push,然后发现还有地方需要修改不想提交本次记录了。这时可以进行Undo Commit,修改后再重新Commit。

如果已经进行了Push,线上的Commit记录还是会存在的

简单来说,就是撤销了你Commit的这个动作。详细解释下:

1、首先,对项目进行了代码修改,然后进行commit操作。
git 撤销所有未push的commit,git,idea,git

2、确认Commit之后(未进行push)
git 撤销所有未push的commit,git,idea,git
3、进行Undo Commit操作
右键要撤销的记录,选择undo commit
git 撤销所有未push的commit,git,idea,git

git 撤销所有未push的commit,git,idea,git

执行后和未Commit之前完全一样, 而且commit记录也没了
git 撤销所有未push的commit,git,idea,git

2.2、方式二: reset current branch to here

适用情况:已commit未push

右键错误记录的上一次记录,然后选择reset current branch to here,选择Mixed
git 撤销所有未push的commit,git,idea,git
git 撤销所有未push的commit,git,idea,git
撤销后会把commit记录删除掉,提交的文件进入到Unversioned Files目录中
git 撤销所有未push的commit,git,idea,git

  • Soft:回滚到指定版本,并保留所有更改,这些更改将被重新提交。使用这种模式,你可以撤销已经提交的更改,然后重新提交。
  • Mixed:回滚到指定版本,并保留所有更改,但是更改将不会被重新提交(文件进入到Unversioned Files中)。使用这种模式,你可以撤销已经提交的更改,并保留这些更改,以备后续修改和提交。
  • Hard:回滚到指定版本,并删除指定版本之后的所有更改。使用这种模式,你可以完全撤销指定版本之后的所有更改。
  • Keep:回滚到指定版本,但是保留指定版本之后的更改。使用这种模式,你可以撤销指定版本之后的更改,并保留这些更改,以备后续修改和提交。

keep和hard撤销后会把文件也删除掉,强烈建议不要使用或者慎用

三、退回push

3.1、方式一:Reset HEAD

注意:此退回是不管你commit没push,还是commit已经push好了,都会退回到你指定的版本号.

步骤1.idea找到项目commit提交记录列表:
项目名右键—Git—Show History 或者idea下方的Version Control都可以打开历史提交的记录信息
git 撤销所有未push的commit,git,idea,git
步骤2.选择需要回退到的版本号:
例如我最新代码是Test2,需要回退到上一次Test1提交的版本

选择对应提交的记录右击——Copy Revision Number ; 复制commit的编号
git 撤销所有未push的commit,git,idea,git
步骤3.回退到对应的版本
项目名右击——Git——Repository——Reset HEAD
git 撤销所有未push的commit,git,idea,git
步骤4.输入需要回退的commit编号
第一步弹框中Reset Type选择——第2步复制的commit编号——Reset

这个的Reset Type有三个可选,按你自己意愿选择可选参数:

首先了解:
工作区 - 暂存区 - 本地仓库
代码编写及修改是在工作区 - git add 将本地修改添加到暂存区 - git commit 将暂存区中的内容提交到本地仓库

  • mixed
    不删除工作空间改动代码,撤销commit撤销git add . 操作,回退到工作区
  • soft
    不删除工作空间改动代码,撤销commit不撤销git add . 操作,
    回退到git commit之前,此时处在暂存区。(即执行git add 命令后)
  • hard
    撤销commit,撤销add,删除本地改动代码。
    (三者的改变全都丢失,即代码的修改内容丢失,直接回退到某个版本;因此我们修改过的代码就没了,需要谨慎使用)

我这里是想回退到Test1提交的记录,并且Test1之后的所有代码完全不要了,所以选择了Hard
git 撤销所有未push的commit,git,idea,git
步骤5.push回退的代码
IDEA下方选择Terminal——命令行输入git push -f ;强行推送到远程仓库
git 撤销所有未push的commit,git,idea,git
步骤6.完成
可见代码提交记录中已经没有Test2提交的记录了,已经回退到Test1版本了
git 撤销所有未push的commit,git,idea,git
可以看见, 刚刚的提交已经被撤销了,但是我本地修改的其他代码内容也被覆盖了,直接没有了,所以一定要慎用,如果你此时工作区还有其他功能未提交的代码,就都会被删除文章来源地址https://www.toymoban.com/news/detail-635740.html

到了这里,关于idea撤销git add或者commit(未push)或者push的文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git 撤销add/commit,以及更换源命令

    前言:主要是为了自己方便记录,省的每次都查找一下这些命令 1、当我们只是想撤回commit,保留 add . 的时候,可以用下方代码 2、当我们想撤回commit以及add .的时候,可以用下方代码  注意:reset 命令只能回滚最新的提交,无法满足保留最后一次提交只回滚之前的某次提交。

    2024年02月05日
    浏览(45)
  • git add或commint或push后如何撤销

    平常项目比较多,代码分支也比较多,很容易出现代码推送错误,撤销修改、冲突等情况。无论手动操作或vscode左上角源代码管理或者使用SourceTree工具,都难免会发生。解决场景如下: add . 命令: git reset HEAD 一般这种比较容易,此时代码还没commit时可以在编辑器上看到,也

    2024年02月05日
    浏览(37)
  • git如何撤销commit(未push)

    Undo Commit,Revert Commit,Drop Commit的区别 是否删除对代码的修改 是否删除Commit记录 是否会新增Commit记录 Undo Commit 不会 未Push会,已Push不会 不会 Revert Commit 会 不会 会 Drop Commit 会 未Push会,已Push不会 不会 某次在idea中执行commit后(未push), 发现提交代码错误了想撤回,此篇文章整

    2024年02月16日
    浏览(56)
  • PhpStorm、PyCharm、WebStorm恢复代码(附:git撤销commit、add操作)

    由于同时管理多个项目,多种开发语言同步开发,开了好多个Git窗口。今天在提交python某项目的时候不小心在vue的项目中执行了 git add、git commit 操作,在push的时候悬崖勒马,于是故事开始了:我先回滚了commit,接着想把add也回滚一下,结果直接回滚到了上次提交的那个节点

    2024年02月04日
    浏览(108)
  • 如何撤销git上一次的commit(或已push)

    当多人开发时,我们本地commit后,刚要push,发现忘记pull最新代码,此时会有冲突push失败, 我们想要撤销最近的一次commit 我们先简单介绍一下git git有三大区【工作区、暂存区、版本库】以及几个状态(untracked、unstaged、uncommited)git保存的不是文件的变化或者差异 而是一系列

    2024年02月16日
    浏览(54)
  • 【经验】Git|如何删除错误的commit?(存在大文件无法push的commit、不需要的commit等情况、清除所有commit的情况)

    如果你在本地多次提交了commit,但是其中有一个commit交错了、或者无法推送, 就像下面这张图这样: 你可以安装以下步骤操作。 通过 git log 想清楚自己需要切换到哪一个commit状态,查看commit id: 将仓库的状态恢复到 能够正常提交的状态/需要删除的状态的上一个commit状态

    2024年02月03日
    浏览(68)
  • 【Git 操作指南】| 撤销远程仓库的 push 以及 git commit 提交

    执行 git log 查看版本日志,找到目标版本。 执行 git reset --soft version numbere ,如 git reset --soft d8cedc98e008e14a35d3faf424764648fb29d55b ,重置为之前提交的版本,接着执行 git log 查看是否已经退回到之前的版本。 (注意, git reset --soft 只改变了 HEAD 的指向位置,本地代码不会发生改变

    2024年02月16日
    浏览(74)
  • idea撤销git commit

    执行commit后,还没执行push时,想要撤销这次的commit,该怎么办? 一、idea操作如下:  找到VCS--Git--Reset HEAD,不同的idea版本位置可能不一样,我的是IntelliJ IDEA 2018.2.2 在To Commit中的HEAD后面加上^,点击Reset即可撤回最近一次的尚未push的commit 解释: Reset Type 有三种: Mixed(默认

    2024年02月03日
    浏览(78)
  • idea git commit之后,撤销commit办法

    问题:idea提代码后,想撤销commit,怎么办捏??(T_T) To Cimmit:里面填写 HEAD~1 点击Reset即可撤销上次commit的内容; HEAD^的意思是上一个版本,也可以写成HEAD~1 如果你进行了2次commit,想都撤回,可以使用HEAD~2或者HEAD^^,以此类推… 首先了解: 工作区 - 暂存区 - 本地仓库 代

    2024年02月06日
    浏览(41)
  • Idea:撤销git已经push的代码

    1、撤回commit:右键git提交的历史记录中要回退的版本,点击”Reset Current Branch to Here…“,然后选择”Hard“,点击”Reset“(如果本地代码不需要回滚的话选soft) 2、撤回push:右键git提交的历史记录中要回退的版本,点击”Copy Revsion Number” 选择“Reset HEAD”,Reset Type选择Ha

    2024年02月11日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包