Git中如何撤销上一次提交?代码举例讲解

在Git中撤销上一次提交,可以使用git reset命令。

具体步骤如下:

  1. 使用git log命令查看提交历史,找到想要撤销的上一次提交的commit id。比如想撤销HEAD^,那么上一次提交的commit id就是HEAD~1。
  2. 使用git reset –soft HEAD~1命令撤销上一次提交。
    –soft参数表示只撤销commit,不撤销add和恢复到未add状态。

举例:

查看提交历史:

$ git log

commit f789d3b6ad6ef87f82c0c5ac505e2521de907a2c (HEAD -> master) 
Author: jonny <jonny@example.com>
Date:   Sun May 2 14:50:14 2021 +0800

    add file3

commit abc123def (HEAD~1)
Author: jonny <jonny@example.com>
Date:   Sun May 2 14:45:14 2021 +0800

    add file2  

撤销上一次提交:

$ git reset --soft HEAD~1

此时,文件file3会恢复到未add状态,可以重新提交。提交历史会返回到HEAD~1对应的提交abc123def。

git reset 命令的常用参数如下:
–soft: 只撤销commit,不撤销add和修改。
–mixed: 默认参数,撤销commit和add,不撤销修改。
–hard: 撤销commit、add和修改,恢复到某次提交状态。
所以根据实际情况选择参数,可以灵活撤销到任意一次提交,回滚版本。

git reset 命令可以用来撤销上一次提交或者回滚到任意一次历史提交。理解reset的基本用法和三种参数的作用,可以自由控制 Git 版本库。