【发布时间】:2015-11-24 14:58:10
【问题描述】:
克隆存储库后,我无法将该存储库的状态重置为远程分支。
$ git clone <repo>
$ git reset --hard <upstream branch>
fatal: ambiguous argument '<upstream branch>': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]
可以使用origin前缀
$ git reset --hard origin/<upstream branch>
或之前结帐
$ git checkout <upstream branch>
$ git reset --hard <upstream branch>
问题:
- checkout 命令向本地 git 存储库提供了哪些额外信息或状态更改,以便它最终可以重置其状态?
- 是否有可以在非特定分支的重置命令之前运行的命令(如结帐)?
【问题讨论】:
-
只是为了确保:你写的是真实的分支名称而不是
'<upstream branch>'逐字? -
另请注意,您不能将存储库的状态“重置”到某个分支:存储库包含已克隆的存储库的所有分支。
git reset可用于重置 分支 的状态(如果询问,还可以重置索引和工作树,或者仅索引和工作树或仅索引),但不能重置存储库作为一个整体。考虑阅读this。 -
您似乎回答了自己的问题。除非,你问的是 git 内部结构,那么这将是一个不同的问题,在这种情况下你应该重新措辞你的帖子。
标签: git reset git-checkout