有人能解释一下 'git revert ...' 的含义吗?

3
我读了这篇帖子:如何将Git管理的项目中所有本地更改还原到之前的状态,这是一篇非常好的帖子/回答,所以给大家点个赞。
我理解所有提到的命令,除了这个:git revert ... 这些省略号代表什么? - 我确定答案在网络上,但搜索引擎似乎忽略标点符号,所以我得到了数百页基本的git revert,没有其他关于“...”的提及。

我不确定 git revert ... 在省略号不是一组要还原的提交范围的情况下是否有效。你是在问字面上的 git revert ... 吗? - Tim Biegeleisen
2
@KhorshedAlam...嗯,不是的。你读了问题吗?我不是在一般情况下询问“git revert”,而是特别询问“git revet...”的含义——你所提到的问题完全不同。 - code_fodder
这并不意味着什么,你有没有读答案?省略号要么只是一个占位符,要么它是一系列提交的一部分。 - Tim Biegeleisen
我认为关闭投票和负投票是因为这不是一个真正的问题。但是我取消了我的负投票。 - Tim Biegeleisen
是的,它会显示“fatal: empty commit set passed”,但这并不意味着这个问题不好——我仍然想知道“git revert ..."是什么意思,这就是我的问题。我没有问“有效的命令‘git revert ...’是什么?”...无论如何,我不想再继续谈这个问题了,但当重复的问题被关闭时,我感到很烦恼,因为某些东西听起来有点像其他东西而被关闭。但还是感谢您看到了常识并辩论这个问题,如果没有别的作用,这对将来参考是有帮助的:) - code_fodder
显示剩余4条评论
2个回答

2
这段话的意思是:“三个点被用作占位符(表示您应该用实际参数替换三个点)。它们被用作省略号(这很令人困惑,因为`...`在Git中也有特殊含义,表示范围运算符)。手册页面可能会有帮助。”
$ man git-revert

NAME
       git-revert - Revert some existing commits

SYNOPSIS
       git revert [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>...

所以,git revert 命令需要一个 <commit> 参数(不带尖括号)。这里的三个点表示您还可以传递多个 <commit> 参数。

啊,好的,我只是太过字面理解了!所以更像是这样做:git revert a867b4af 25eee4ca 0766c053? 来源于这里:https://dev59.com/im855IYBdhLWcg3w1oLa#4114122 - code_fodder

1
Triple Dot 是一个 范围选择语法

指定所有可通过两个引用中的任一引用到达但不能通过两个引用都到达的提交

您可以在这里找到一个好的 SO 答案 here 和官方文档 here


但是如果没有提交范围,git revert ... 是什么意思? - Tim Biegeleisen
谢谢提供的链接,我想我现在明白了 - 我在阅读这一点时太字面化了,谢谢。 - code_fodder
@TimBiegeleisen如果你这样使用git,它将会抛出错误(致命错误:传递了空的提交集)。 - robertklep
@TimBiegeleisen,我认为它没有意义(从我的理解来看),是我字面上的阅读。 - code_fodder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接