如何进行 Git 版本回滚?

· 约 2 分钟读完 · 第 142 / 236 章

推荐答案

使用 git reset 回滚到指定提交

使用 git revert 创建新的提交来撤销更改

使用 git checkout 切换到指定提交

本题详细解读

git reset 命令

git reset 命令用于将当前分支的 HEAD 指针移动到指定的提交。它有三种模式:

  1. 软重置 (--soft):仅移动 HEAD 指针,不改变工作目录和暂存区的内容。
  2. 混合重置 (--mixed):默认模式,移动 HEAD 指针并重置暂存区,但不改变工作目录的内容。
  3. 硬重置 (--hard):移动 HEAD 指针并重置暂存区和工作目录,丢弃所有未提交的更改。

git revert 命令

git revert 命令通过创建一个新的提交来撤销指定提交的更改。这种方式不会改变提交历史,而是添加一个新的提交来撤销之前的更改。适用于需要保留提交历史的场景。

git checkout 命令

git checkout 命令用于切换到指定的提交或分支。切换到某个提交时,Git 会进入“分离头指针”状态,允许你查看历史状态,但不会修改当前分支的 HEAD 指针。

使用场景

  • git reset:适用于需要彻底回滚到某个提交,并且不需要保留之后的提交历史。
  • git revert:适用于需要撤销某个提交的更改,但希望保留提交历史。
  • git checkout:适用于临时查看历史状态,而不需要修改当前分支的状态。