📜  git revert commit 但保留更改 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:41:27.515000             🧑  作者: Mango

Git Revert Commit 但保留更改 - Shell-Bash

当我们需要取消之前某次提交,但又不想丢失之前提交的更改时,可以使用 Git Revert 命令来实现。这个命令会创建一次新的提交,将之前提交中的更改撤销,并重新提交代码。下面详细介绍如何在 Shell-Bash 中使用 Git Revert 命令来保留之前的更改。

步骤 1 - 查找提交的哈希值

首先我们需要查找需要 Revert 的提交的哈希值。可以使用 Git log 命令来查看提交历史,找到需要 Revert 的提交。例如,我们要 Revert 最近的一次提交,可以执行以下命令:

$ git log -1

这会打印出最近一次提交的哈希值。注意,这个哈希值应该是完整的,包括前缀的 commit

步骤 2 - 执行 Revert 命令

一旦找到需要 Revert 的提交的哈希值,可以使用 Git Revert 命令来将更改撤销,并保留更改。例如,我们要 Revert 最近的一次提交,可以执行以下命令:

$ git revert -n <commit-hash>

其中 <commit-hash> 是前面找到的提交的哈希值,使用 -n 参数来告诉 Git 不要自动提交。

步骤 3 - 修复冲突

执行 Revert 命令后,Git 会撤销之前的更改,并将更改保存在工作区中。此时需要手动解决 Revert 导致的冲突,并确保代码能够编译通过。

步骤 4 - 提交代码

当解决完冲突后,可以使用 Git add 和 Git commit 命令来将更改提交到本地仓库中。

$ git add .
$ git commit -m "Revert commit <commit-hash>"

这样就完成了 Revert 操作,保留了之前提交的更改。

结论

Git Revert 命令可以让我们撤销之前的提交,但又不丢失之前提交的更改。使用 Git Revert 命令需要注意解决冲突,并手动提交代码。