【问题标题】:Can someone explain 'git revert ...'有人可以解释'git revert ...'
【发布时间】:2016-11-09 10:46:42
【问题描述】:

我阅读了帖子:how-do-i-revert-all-local-changes-in-git-managed-project-to-previous-state,这是一个非常好的帖子/答案,所以周围都加了 1。

我理解所有提到的命令,除了这个:

git revert ...

这些点是什么意思? - 我确信答案在网络上,但搜索引擎似乎忽略了标点符号,所以我得到了数百页基本的git revert,没有其他提及“...”。

【问题讨论】:

  • 我不确定git revert ... 是否有效,而省略号不是要还原的提交范围的一部分。你是在问git revert ... 的字面意思吗?
  • @TimBiegeleisen 是的,真的 :) ...好吧,看看链接上的帖子,除非我读错了,否则你可以使用 git revert ... 来“恢复更改你可以提交”,我认为这意味着只恢复最后一次提交......
  • @KhorshedAlam ..ummm,没有。你读过这个问题吗?我不是在问一般的“git revert”,而是具体来说“git revet ...”是什么意思——你提到的问题完全不同。
  • 没什么意思,你有没有费心去读答案?省略号要么只是一个占位符,要么是一系列提交的一部分。
  • @TimBiegeleisen 是的,我确实阅读了所有答案,谢谢。不,对我来说,椭圆意味着范围显然并不明显,否则我不会问这个问题。现在从下面的答案中可以清楚地看到,感谢所有回答的人。一个非常不公平的-1,这意味着我会接受好的答案,并且可能稍后会删除问题....对我来说没问题,对问题的回答者不利。

标签: git revert


【解决方案1】:

三个点用作占位符(意味着您应该用实际参数替换三个点)。它们被用作ellipsis(这很令人困惑,因为... 作为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 需要一个&lt;commit&gt; 参数(不带尖括号)。这里的三个点表示您还可以传递多个&lt;commit&gt; 参数。

【讨论】:

【解决方案2】:

三点Range Selection Syntax

指定两个引用中的任何一个都可以访问但不能同时访问的所有提交

您可以找到好的 SO 答案 here 和官方文档 here

【讨论】:

  • 但是git revert ... 没有提交范围是什么意思?
  • 感谢您的链接,我想我现在明白了 - 我在阅读这一点时过于直白了,谢谢
  • @TimBiegeleisen git 如果你这样使用它会抛出一个错误 (fatal: empty commit set passed)
  • @TimBiegeleisen,我认为它没有任何意义(据我所知),是我从字面上看的。
猜你喜欢
  • 2016-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-29
  • 2012-05-23
  • 2010-12-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多