当前位置:   article > 正文

Git误提交撤回到以前版本_git撤回到上一次提交

git撤回到上一次提交

背景

Git提交了当前改动后,发现更新的代码还是有问题,想要撤销提交并重新提交正确的代码。

正确步骤

1.查看提交历史记录

首先,使用git log查看提交历史记录,找到你想要撤回的提交的哈希值。

git log

2.回退到目标提交节点

使用git reset命令将HEAD指针回退到目标提交。如果你想要保留工作区中的改动,可以使用--soft选项。

git reset --soft <目标提交的哈希值>

这会撤销你的最新提交,但保留你工作区中的改动。如果你不想保留这些改动,可以使用--hard选项,但请注意这会丢失你未提交的改动。

比如,此时我想回退到第一次提交节点上:

此时,已经撤销了最新提交,回退到第一次提交版本,可以通过git status查看当前工作目录和暂存区的状态以确定是否是自己所需要的。

3.重新提交正确的代码

在撤销了错误的提交后,可以修复代码,然后重新提交。

  1. git add <修改的文件>
  2. git commit -m "提交正确的代码改动"

拓展

git status Git 中用于显示工作目录和暂存区状态的重要命令。它会列出三种主要的状态,帮助你了解仓库的当前状况。以下是这三种状态及其作用的解释:

1. Untracked files(未被追踪的文件)
  • 作用:这表示你的工作目录中存在一些 Git 尚未开始追踪的文件。这些文件可能是新创建的,或者是从 .gitignore 文件中移除的,但还没有通过 git add 命令添加到暂存区。
  • 含义:Git 不会将这些文件纳入版本控制,除非你显式地告诉它开始追踪这些文件。
  • 例子:当你创建一个新的文件并在没有执行 git add 的情况下运行 git status,你会看到这个文件被列为 untracked file。
2. Changes to be committed(待提交的更改)
  • 作用:这表示你的暂存区中已经有一些文件的更改等待提交。这些文件已经通过 git add 命令被添加到暂存区,但还没有通过 git commit 命令被提交。
  • 含义:这些更改是下一次提交(commit)的内容。你可以随时使用 git commit 来提交这些更改。
  • 例子:当你修改了一个文件并使用 git add 将其添加到暂存区后,这个文件的状态会变为 "Changes to be committed"。
3. Changes not staged for commit(未暂存以供提交的更改)
  • 作用:这表示你的工作目录中有一些文件的更改已经发生,但这些更改还没有被添加到暂存区,即这些更改还没有准备好被提交。
  • 含义:如果你直接运行 git commit,这些更改不会被包括在内。你需要先使用 git add 将它们添加到暂存区,然后才能提交。
  • 例子:如果你修改了一个文件但没有运行 git add,那么这个文件的更改会显示为 "Changes not staged for commit"。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/617403
推荐阅读
相关标签
  

闽ICP备14008679号