如何使用Git进行撤销最近的一次commit操作?

2026-05-17 08:540阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计297个文字,预计阅读时间需要2分钟。

Git撤销已经commit但未push的本地提交,可使用以下命令:

bashgit reset --soft|--mixed|--hard commit_id

其中:- `--mixed`(默认):不删除工作区改动的内容,撤销commit和git add,但保留暂存区的改动。- `--soft`:不改变工作区内容,只撤销commit和git add,保留暂存区的改动。

例如,撤销commit并保留工作区改动:

bashgit reset --soft commit_id

Git撤销commit 已经commit但未push 回退本地提交代码 格式

git reset --soft|--mixed|--hard <commit_id>

说明

--mixed(默认)
不删除工作空间的改动代码,撤销commit,撤销git add file.
--soft(常用)
不删除工作空间的改动代码,撤销commit,不撤销git add file,如果还需要提交,直接commit即可.
--hard(慎用)
删除工作空间的改动代码,撤销commit,撤销add.

示例

git reset --soft adsc876

强制提交(风险较高,确定无影响可以使用) 示例

git push develop develop --force (本地分支和远程分支都是 develop)

已经push

git revert <commit_id>

说明

git revert是用一次新的commit来回滚之前的commit,
这时再 git push 既可以把线上的代码更新。

reset和revert的区别 reset示意图

revert示意图

本文共计297个文字,预计阅读时间需要2分钟。

Git撤销已经commit但未push的本地提交,可使用以下命令:

bashgit reset --soft|--mixed|--hard commit_id

其中:- `--mixed`(默认):不删除工作区改动的内容,撤销commit和git add,但保留暂存区的改动。- `--soft`:不改变工作区内容,只撤销commit和git add,保留暂存区的改动。

例如,撤销commit并保留工作区改动:

bashgit reset --soft commit_id

Git撤销commit 已经commit但未push 回退本地提交代码 格式

git reset --soft|--mixed|--hard <commit_id>

说明

--mixed(默认)
不删除工作空间的改动代码,撤销commit,撤销git add file.
--soft(常用)
不删除工作空间的改动代码,撤销commit,不撤销git add file,如果还需要提交,直接commit即可.
--hard(慎用)
删除工作空间的改动代码,撤销commit,撤销add.

示例

git reset --soft adsc876

强制提交(风险较高,确定无影响可以使用) 示例

git push develop develop --force (本地分支和远程分支都是 develop)

已经push

git revert <commit_id>

说明

git revert是用一次新的commit来回滚之前的commit,
这时再 git push 既可以把线上的代码更新。

reset和revert的区别 reset示意图

revert示意图