有人将一个名为testwith的分支推git push origin test送到共享存储库。我可以看到分支git branch -r。
test
git push origin test
git branch -r
现在我正在尝试检查远程test分支。
我试过了:
git checkout test
git checkout origin/test
* (no branch)
如何检出远程 Git 分支?
根据是配置了一个远程存储库还是配置了多个远程存储库,答案已被拆分。这样做的原因是对于单个远程情况,可以简化一些命令,因为歧义较少。
针对 Git 2.23 更新:对于旧版本,请参阅最后的部分。
在这两种情况下,首先从远程存储库获取以确保您下载了所有最新的更改。
$ git fetch
这将为您获取所有远程分支。您可以通过以下方式查看可用于结帐的分支:
$ git branch -v -a ... remotes/origin/test
以 开头的分支remotes/*可以被认为是远程分支的只读副本。要在分支上工作,您需要从中创建一个本地分支。这是使用 Git 命令switch(自 Git 2.23 起)通过为其指定远程分支的名称(减去远程名称)来完成的:
remotes/*
switch
$ git switch test
在这种情况下,Git 猜测(可以使用 禁用--no-guess)您正在尝试检出并跟踪具有相同名称的远程分支。
--no-guess
在存在多个远程仓库的情况下,远程仓库需要明确命名。
和以前一样,首先获取最新的远程更改:
$ git fetch origin
$ git branch -v -a
有了远程分支,您现在需要检查您感兴趣的分支-c以创建一个新的本地分支:
-c
$ git switch -c test origin/test
有关使用的更多信息git switch:
git switch
$ man git-switch
我还创建了下面的图像供您分享差异,看看如何获取工作,以及如何拉动:
git switch在 Git 2.23 中添加,在此之前git checkout用于切换分支。
git checkout
要仅使用单个远程存储库签出:
如果配置了多个远程存储库,它会变得更长一点
git checkout -b test <name of remote>/test