Git 撤销最后一次提交并推送

Git 撤销最后一次提交并推送

在本文中,我们将介绍如何撤销最后一次提交并将更改推送到远程Git存储库中。

阅读更多:Git 教程

为什么需要撤销最后一次提交

有时候,我们在进行Git提交后意识到自己犯了一个错误,或者提交了一些不必要的更改。在这种情况下,我们需要撤销最后一次提交,并将更改从远程存储库中删除或替换为正确的更改。

撤销最后一次提交的方法

使用Git revert命令

Git提供了一个revert命令,可以撤销最后一次提交。这个命令创建一个新的提交,通过将上一个提交的更改反向应用到当前分支来撤销。

要使用revert命令撤销最后一次提交,可以执行以下步骤:

  1. 首先,使用git log命令查看提交历史。确认最后一次提交的哈希值。
$ git log
commit c1234567890 (HEAD -> master)
Author: Your Name <your.email@example.com>
Date:   Wed Jan 1 12:00:00 2022 +0000

    Last commit message
  1. 使用git revert命令来撤销最后一次提交。将上一步中确认的提交哈希值替换到下面的命令中。
$ git revert c1234567890
  1. 执行命令后,Git会打开一个文本编辑器以编辑新的提交消息。你可以保留默认的撤销提交消息,也可以修改为你想要的内容。保存并关闭编辑器。

  2. Git会在当前分支上创建一个新的提交,该提交包含了撤销之前提交的更改。可以使用git log命令验证新的提交是否成功创建,并查看新的提交历史。

使用Git reset命令

另一种撤销最后一次提交的方法是使用git reset命令。这个命令将当前分支的HEAD指针移动到上一个提交,从而撤销最后一次提交。

要使用reset命令撤销最后一次提交,可以执行以下步骤:

  1. 首先,使用git log命令查看提交历史。确认最后一次提交的哈希值。
$ git log
commit c1234567890 (HEAD -> master)
Author: Your Name <your.email@example.com>
Date:   Wed Jan 1 12:00:00 2022 +0000

    Last commit message
  1. 使用git reset命令来撤销最后一次提交。将上一步中确认的提交哈希值替换到下面的命令中。
$ git reset c1234567890
  1. 执行命令后,Git会将当前分支的HEAD指针移动到指定的提交,从而撤销最后一次提交。请注意,该命令只会更改本地分支。

  2. 如果你希望将更改从远程存储库中删除或替换为正确的更改,你需要使用git push命令将更改推送到远程存储库。

$ git push --force

注意:使用--force选项在推送时可能会覆盖其他人的更改,谨慎使用。

示例:撤销最后一次提交并推送

让我们通过一个示例来演示如何撤销最后一次提交并将更改推送到远程Git存储库中。

假设我们当前在master分支上,并且我们最后一次提交了一个错误的文件。

  1. 首先,使用git log命令查看提交历史
$ git log
commit c1234567890 (HEAD -> master)
Author: Your Name <your.email@example.com>
Date:   Wed Jan 1 12:00:00 2022 +0000

    Add incorrect file

commit b9876543210
Author: Your Name <your.email@example.com>
Date:   Tue Dec 31 12:00:00 2021 +0000

    Initial commit
  1. 确认最后一次提交的哈希值是c1234567890

  2. 使用git revert命令来撤销最后一次提交。

$ git revert c1234567890
  1. Git会打开一个文本编辑器以编辑新的撤销提交消息。保留默认的消息或修改为你想要的内容,并保存关闭编辑器。

  2. 现在,使用git log命令再次查看提交历史。

$ git log
commit d9876543210 (HEAD -> master)
Author: Your Name <your.email@example.com>
Date:   Thu Jan 2 12:00:00 2022 +0000

    Revert "Add incorrect file"

commit c1234567890
Author: Your Name <your.email@example.com>
Date:   Wed Jan 1 12:00:00 2022 +0000

    Add incorrect file

commit b9876543210
Author: Your Name <your.email@example.com>
Date:   Tue Dec 31 12:00:00 2021 +0000

    Initial commit

可以看到,Git创建了一个新的提交d9876543210,该提交撤销了之前提交的更改。

  1. 最后,使用git push命令将更改推送到远程存储库。
$ git push --force

使用--force选项是为了将新的撤销提交强制推送到远程存储库。

总结

本文介绍了如何撤销最后一次提交并将更改推送到远程Git存储库中。我们讨论了两种方法:使用git revert命令和使用git reset命令。使用git revert创建一个新的撤销提交,而使用git reset将当前分支的HEAD指针移动到上一个提交。在进行任何推送操作之前,请确保理解并谨慎使用--force选项。相信通过本文的指导,你能够轻松地撤销最后一次提交并将更改推送到远程存储库中。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程