Git本地提交恢复与取消git reset命令详解

我不小心在Git中创建了错误的文件,但我还没有检查服务器。

如何取消提交这些本地存储库? 

唯一的方法是将更改复制到某个图形文本编辑器中,删除整个本地克隆,再次克隆存储库,然后重用更改。

反正, 

  1. 这可能会导致数据丢失。 

  2. 如果只是偶尔进行git 提交,则很难做到这一点。 

还有其他替代方法可以解决这个问题吗?

恢复或撤消提交

$ git commit -m "Something terribly misguided" # (0: Your Accident)
$ git reset HEAD~                              # (1)
[ edit files as necessary ]                    # (2)
$ git add .                                    # (3)
$ git commit -c ORIG_HEAD                      # (4)

该命令负责取消。离开工作树(磁盘上文件的状态)并撤消最后的承诺。您需要再次添加它们才能再次检查它们)。

修改工作树文件。

Git add 提供了您想要包含在新承诺中的任何内容。

重用旧的验证消息来查看更改。将旧的重置复制到. git / ORIG_HEAD。使用-c ORIG_HEAD提交以打开编辑器。编辑器最初包含一条旧的 Promise 日志消息,您可以更改该消息。如果不需要编辑消息,可以使用 -C 选项。

或者,为了更改先前的承诺(或仅更改其承诺消息),当前更改索引承诺添加先前的承诺。

要删除推送到服务器的承诺(而不取消),您需要使用git push origin master --force重写历史记录。

AI回答内容(请仔细甄别,站长不保证其真实性)

要恢复 Git 中最后的本地提交并取消提交这些本地存储库,您可以使用 git reset 命令。以下是如何操作的步骤:

  1. 首先,确保您当前位于正确的 Git 存储库目录中。

  2. 使用 git log 命令查看提交历史。这将显示您最近的提交记录。找到您想要恢复的提交的哈希值(例如:abc123)。

  3. 使用 git reset 命令恢复到您想要的提交。有两种方法可以实现这一点:

    a. 如果您只想丢弃最近一次提交,可以使用 git reset HEAD~1。这将使您的工作目录恢复到上一次提交的状态,并将最近一次提交移动到暂存区。

    b. 如果您想要丢弃多个提交,可以使用 git reset <commit_hash>。将 <commit_hash> 替换为您想要恢复到的提交的哈希值(例如:git reset abc123)。这将使您的工作目录恢复到指定提交的状态,并将指定提交之后的所有提交移动到暂存区。

  4. 如果您想要永久删除暂存区中的提交,可以使用 git reset --hard <commit_hash>。将 <commit_hash> 替换为您想要恢复到的提交的哈希值(例如:git reset --hard abc123)。这将使您的工作目录、暂存区和提交历史都恢复到指定提交的状态。

请注意,使用 git reset --hard 命令将永久删除指定提交之后的所有提交,因此请确保您已经备份了重要数据。如果您只想丢弃最近的提交,而不删除其他提交,可以使用 git reset HEAD~1 命令。


文章来源地址https://www.toymoban.com/diary/git/468.html

到此这篇关于Git本地提交恢复与取消git reset命令详解的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://www.toymoban.com/diary/git/468.html

如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用
Node.js ECONNREFUSED 错误解析与解决方法
上一篇 2023年10月26日 16:17
下一篇 2023年10月26日 17:01

相关文章

  • 【Git教程】(三)提交详解 —— add、commit、status、stach命令的说明,提交散列值与历史,多次提交及忽略 ~

    在Git 中,提交无疑是最重要的概念了。Git 管理的是软件版本,而版本库中的版本是以 提交 的形式保存的。某一次的提交的覆盖范围通常是整个项目,即通过一次提交,该项目中的每个文件就都被存进了版本库中。 下面,我们可以通过 git log --stat -1 命令来看一下提交中究竟

    2024年03月12日
    浏览(27)
  • IDEA Git恢复DropCommit删除的提交 撤销Git错误删除 回退历史版本

    原因 由于在IDEA上commit时写错了commit信息,想重新提交,就在提交记录上右键-Drop Commit删除了,然后就发现代码也恢复到上次commit时的情况,这次新增的代码全没有了 恢复 git应该记录了所有版本控制的历史信息,应该能恢复已经删除的某个版本的commit代码 1.在项目文件夹打开

    2024年02月03日
    浏览(20)
  • Git reset命令后如何恢复到最新版本

    Git reset命令后,可以使用以下两种方法恢复到最新版本: 该命令可以查看所有Git操作的记录,包括reset命令。 例如,假设您使用以下命令将HEAD指针回退到 HEAD^^ 版本: 然后,您可以使用以下命令查看reflog记录: 输出结果中会显示所有Git操作的记录,包括reset命令。 要恢复到

    2024年04月11日
    浏览(19)
  • git reset 命令详解 git revert命令详解。

    git reset 命令格式为: git reset [ --soft | --mixed | --hard ] [ commitid ] 在git的这些命令中git reset是最长常用的,也是最危险的最容易被误用的。它的主要参数是:soft,mixed,hard它们告诉git,当执行reset是,要对index和working copy做什么。 soft: –soft参数只将其它的commit重置到你选定的HEAD,

    2024年02月15日
    浏览(25)
  • git命令的基本使用(设置用户名、密码、提交、拉取、回退、分支、查看历史版本等)

    1. 首先就是初始化 git init 命令,然后打开文件显示隐藏文件,就能看到一个.git文件,该文件有就代表git初始化成功了。 2. 设置git用户名和密码,正常一个项目的远程库肯定会有人员权限的,只有开源的项目可以不用设置用户名和密码的:    2.1 用户名设置命令  git config

    2024年02月04日
    浏览(22)
  • Git已经在本地提交过文件了,但又给撤销了,恢复已经撤销的内容

    Git,我已经在本地提交过文件了,也就是已经执行了 git commit -m \\\"xxx\\\" ,但提交完之后又给撤销了,撤销的还能回来嘛? 这种情况仍然有机会恢复它。撤销提交的方法取决于你撤销提交的方式。 说白了就是,只要执行了 git commit -m \\\"xxx\\\" ,就可以有权恢复代码,切记不要慌! 如

    2024年02月15日
    浏览(23)
  • 【Git-Git克隆代码与提交代码】使用Git命令方式拉取代码至本地以及上传代码到云端

    1、gitbash 中可以配置邮箱用户名 2、查看相关信息 语言选择是安装 LanguagePack,flush 后选择中文。 1、单击Windows开始图标搜索 PuttyGen 并打开,在打开的窗口中单击 “Generate” ,即可生成密钥。 2、密钥生成后就可以分别将公钥、私钥进行存储。 单击 “Save private key” 在弹出的

    2024年02月15日
    浏览(21)
  • git reset后撤回恢复到reset前的版本

    在使用 git reset 2 命令后,你撤销了最近的两个提交并丢弃了相应的更改。如果你希望恢复这些提交和更改,可以采取以下步骤: 使用 git reflog 命令查看Git的引用日志,找到你之前所在分支的历史记录。你会看到所有的提交和操作记录。 针对你要恢复的提交,找到其对应的提

    2024年02月07日
    浏览(28)
  • git怎么取消提交代码

    1.使用 git reset 命令取消提交并将本地代码回退到上一个提交状态。如果您想撤销之前的提交并更改代码,请使用 git reset --hard 命令。 2.使用 git revert 命令取消提交,但是会创建一个新的提交来撤销之前的提交。 请注意,commit-id是您要撤销的提交的 ID。您可以使用 git log 命令

    2024年02月11日
    浏览(23)
  • [GIT] GIT拆分仓库--不丢git提交历史记录

    如果你的代码仓库里有多个目录,你想把其中一个目录拆分出去变成一个独立的代码仓库。重要的一点是拆分的过程中要保留git提交历史记录。 进入根目录后,快速运行 ls 终端命令以确保列出所有子目录。 利用命令 git log 或 git log --onelist |wc  查看你的提交的信息和提交了多

    2024年02月09日
    浏览(37)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包