
【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:当你不希望编辑提交消息,而是希望使用默认生成的消息时,可以使用这个选项。 -
-n, --no-commit:这个选项会使得git revert应用必要的更改到工作目录和索引,但不会创建一个新的提交。这在某些自动化脚本或当你想要手动修改工作目录后再做提交时非常有用。 -
-S[<keyid>], --gpg-sign[=<keyid>]:这个选项允许你使用 GPG 对撤销提交进行签名。如果提供了<keyid>,则使用指定的密钥进行签名;如果没有提供,则使用你的默认 GPG 密钥。 -
-s, --signoff:这个选项会在提交消息的末尾添加一个Signed-o

本文详细介绍了Git的git-revert命令,用于撤销已有提交并创建新提交记录。内容涵盖git-revert的用途、选项、示例以及提交消息的重要性和策略,帮助读者理解和掌握如何有效使用此命令。
最低0.47元/天 解锁文章
1968

被折叠的 条评论
为什么被折叠?



