Featured image of post Git Revert 使用指南

Git Revert 使用指南

如何正确使用 Git revert 命令撤销提交

Git Revert 使用指南

使用revert撤销一个提交

什么是 Git Revert?

Git revert 是一个用于撤销之前的某个提交的命令。与 git reset 不同,git revert 不会删除任何历史记录,而是通过创建一个新的提交来撤销指定提交的更改。

为什么使用 Revert?

  • 安全:不改变提交历史,适合在共享分支上使用。
  • 可追踪:撤销操作本身被记录为一个新的提交。
  • 灵活:可以撤销任何历史提交,而不仅仅是最近的几个。

如何使用 Revert

基本用法

  1. 找到要撤销的提交的 hash:

    1
    
    git log --oneline
    
  2. 执行 revert 命令:

    1
    
    git revert <commit-hash>
    
  3. 解决可能出现的冲突(如果有的话)。

  4. 提交 revert 更改:

    1
    
    git commit -m "Revert 'xxx'"
    

示例

假设我们有以下提交历史:

1
2
3
abc1234 (HEAD -> main) Add feature C
def5678 Add feature B (要撤销的提交)
ghi9101 Add feature A

要撤销 “Add feature B” 的提交,我们可以:

1
git revert def5678

这将创建一个新的提交,撤销 “Add feature B” 的更改。

撤销多个提交

要撤销多个连续的提交,可以使用:

1
git revert HEAD~3..HEAD

这将撤销最近的三个提交。

只创建 Revert 提交而不自动提交

如果你想在提交前检查 revert 的结果:

1
git revert -n <commit-hash>

这会将更改添加到工作目录和暂存区,但不会自动创建新的提交。

注意事项

  1. 确保在执行 revert 前,你的工作目录是干净的。
  2. 如果 revert 的提交与之后的提交有冲突,你可能需要手动解决这些冲突。
  3. 对于已经推送到远程仓库的提交,使用 revert 比使用 reset 更安全。
  4. git revert 操作时,Git 不允许在有未提交更改的情况下执行 revert,以防止你的本地修改被意外覆盖。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计