Files
codefever/doc/en-us/git/revert.md
2022-01-19 17:10:17 +08:00

1.1 KiB

还原提交的改动

使用 git revert 来回滚

有时需要还原某一次提交的改动, 可以使用 git revert 命令实现, 例如:

git revert <commit hash>

命令执行成功后, 仓库会还原到提交哈希为 <commit hash> 的改动, 如果没有冲突, 会自动创建一次新的提交。如果不希望自动创建提交, 加上 -n 选项。

还可以以当前 HEAD 为基准, 还原之前的某次提交, 例如:

git revert HEAD~<num>

命令执行成功后, 仓库会还原最近 <num> + 1 次提交的改动, 如果没有冲突, 会自动创建一次新的提交。

还可以指定一个范围还原某几次提交的改动,例如:

git revert -n <master>~<num1> .. <master>~<num2>

命令执行成功后, 仓库会还原最近的第 <num1> 次(包括)提交到最近的 <num1> 次(包括)提交的改动。

因为使用了 -n 选项,还原的结果保存到了暂存区中, 需要手动创建新的提交。

在使用 -n 选项时, 如果还原操作的结果不符合预期, 在创建新的提交之前, 可以撤销本次还原操作, 例如:

git revert --abort