有人可以解释'混帐恢复...'

问题描述:

我看帖子:how-do-i-revert-all-local-changes-in-git-managed-project-to-previous-state,这是一个非常好的帖子/答案,所以加1的全部。有人可以解释'混帐恢复...'

据我所知,被提到的所有命令,除了这一个:

git revert ...

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

+0

我不确定'git revert ...'是否有效,如果没有椭圆是提交范围的一部分提交。你是否真的在问''git还原...'字面意思? –

+0

@TimBiegeleisen是的,真的:)...好吧,看看链接上的帖子,除非我错误地阅读它,它说你可以使用'git revert ...'来“恢复你可以改变的东西承诺“,我认为恢复只是最后一次承诺... –

+2

@KhorshedAlam ..ummm,no。你读过这个问题了吗?我一般不会问“git revert”,但具体是什么“git revet ...”意味着 - 你提到的问题是完全不同的。 –

三个点是指提交作为占位符(这意味着你应该用实际的参数替换三个点)。它们被用作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期望一个<commit>参数(不尖括号中)。这里的三个点表示您还可以通过多个<commit>参数。

+0

好的,所以我只是把它放在字面上! ...所以它更像是做这样的事情:'git revert a867b4af 25eee4ca 0766c053'?采取从这里:http://*.com/questions/4114095/how-to-revert-git-repository-to-a-previous-commit/4114122#4114122 –

+0

@code_fodder是的,这正是你如何使用它 – robertklep

+0

得到了它,谢谢:) –

Triple DotRange Selection Syntax

指定所有被任意两个引用可达但不是由他们两人

你可以找到很好的SO回答here和officalk DOC here

+0

但是'git revert ...'是什么意思,没有作为范围提交的提交? –

+0

感谢您的链接,我认为我现在得到它 - 我太在我的阅读这一点的字面意思,谢谢 –

+0

@TimBiegeleisen git'll会抛出一个错误,如果你像这样使用它('致命的:空提交集传递' ) – robertklep