繁体   English   中英

git:重置为远程分支

[英]git: reset to remote branch

克隆存储库后,我无法将该存储库的状态重置为远程分支。

$ 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>

问题:

  1. checkout命令为本地git存储库提供了哪些额外信息或状态更改,以便最终可以重置其状态?
  2. 是否有命令(如checkout)我可以在reset命令之前运行,而不是特定于分支?

Git无法在新鲜的本地仓库中找到名为upstream_branch的分支的引用,因为它不存在。 但是origin/upstream_branch的引用确实存在。 运行git branch --all ,您将看到存储库中的本地和远程分支的完整列表。

在第二个工作方案中,当您运行git checkout upstream_branch您创建了一个名为upstream_branch的本地分支,用于跟踪远程分支origin/upstream_branch 这就是后续git reset命令工作的原因。

“将存储库的状态重置为远程分支”是什么意思?

如果你想要一个等于远程分支的本地分支,只需使用** git checkout *:

git checkout -b local_branch_name origin/remote_branch_name

如果您有一个脏工作区,并且想要删除任何添加/修改的文件,您可以键入:

git clean -f
git checkout -f -b local_branch_name origin/remote_branch_name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM