【git系列】git-revert含义用法选项示例详解
源自专栏《Gradle ScalaTest markdown idea Git中文实用教程目录?》
文章目录
概要
撤销一些现有的提交
git revert [--[no-]edit] [-n] [-m <parent-number>] [-s] [-S[<keyid>]] <commit>…
git revert (--continue | --skip | --abort | --quit)
描述
给定一个或多个现有提交,撤销相关补丁引入的更改,并记录一些记录这些更改的新提交。
这要求您的工作树保持干净(与 HEAD 提交没有修改)。
注意: git revert 用于记录一些新提交以撤消一些较早的提交的影响(通常只是一个错误的提交)。
如果要丢弃工作目录中的所有未提交更改,应该参见 git-reset[1],特别是 --hard 选项。
如果要提取特定文件,就像它们在另一个提交中那样,应该参见 git-restore[1],特别是 --source 选项。
请注意这些替代方案,因为两者都会丢弃工作目录中的未提交更改。
查看 git[1] 中的“Reset, restore and revert”以了解这三个命令之间的区别。
选项
-
<commit>…
:这是要撤销的提交的哈希值或哈希值的范围。可以是一个具体的提交哈希,或者多个提交之间的范围。 -
-e, --edit
:这个选项允许你在提交撤销更改之前编辑提交消息。这在默认情况下是启用的,除非你使用了--no-edit
选项。 -
-m parent-number, --mainline parent-number
:当你在处理一个有多个父提交的提交(例如,由git merge
创建的合并提交)时,这个选项允许你指定哪个父提交应该被视为主线。这会影响到git revert
如何生成差异,并最终影响到撤销提交的内容。parent-number
是从 1 开始的。 -
<--no-edit
:当你不希望编辑提交消息,而是希望使用默认生成的消息时,可以使用这个选项。