有人推了一个分行testgit push origin test共享仓库的共享仓库。git branch -r如何查看遥控器test我试过了

  • git checkout test,它没有做任何事情
  • git checkout origin/test给给* (no branch)

当前回答

简单运行git checkout使用远程分支的名称。 Git 会自动自动创建本地分支, 跟踪远程分支 :

git fetch
git checkout test

但是,如果在不止一个远程中发现分支名称, 则无法使用 Git , 因为 Git 不知道该使用哪个 。 在这种情况下, 您也可以使用 :

git checkout --track origin/test

git checkout -b test origin/test

2.19基特学会了checkout.defaultRemote配置, 它指定了在解决此模糊性时默认的远程 。

其他回答

要获得所有边远的分支, 请使用这个 :

git fetch --all

然后检查到分支:

git checkout test

答案已经分割, 取决于是否配置了一个远程仓库或多个。 原因是对于单个远程案例, 某些命令可以简化, 因为模糊性较小 。

Git 2. 23 更新:旧版本见结尾部分。

一个远程

在这两种情况下,先从远程仓库获取,以确保您下载了所有最新修改。

$ git fetch

这将为您获取所有远程分支。 您可以看到可用以检查的分支 :

$ git branch -v -a

...
remotes/origin/test

开始于树枝的树枝remotes/*可被视为只读取远程分支的复制件 。 要在分支上工作, 您需要从分支中创建本地分支 。 这是与 Git 命令一起完成的 。switch(自 Git 2.23 以来, 通过给它提供远程分支的名称( 减去远程名称) :

$ git switch test

在此情况下, Git 是在猜测 (可以使用--no-guess),您正试图用相同的名字检查和跟踪远程分支。

带多个远程

如果存在多个远程存储库,则需要明确指定远程存储库的名称。

与之前一样, 从获取最新的远程更改开始 :

$ git fetch origin

这将为您获取所有远程分支。 您可以看到可用以检查的分支 :

$ git branch -v -a

手边有远程树枝 现在需要查看您感兴趣的树枝-c创建一个新的本地分支 :

$ git switch -c test origin/test

欲了解更多关于使用的信息git switch:

$ man git-switch

我还为您创建了下面的图像, 以便分享差异, 看看如何获取工作, 以及拉动有什么不同:

enter image description here

在Git 2. 23之前

git switch在此之前,在Git 2.23中加上git checkout用于交换分支。

仅使用一个远程仓库退出 :

git checkout test

如果有多个已配置的远程仓库, 它会变长一点

git checkout -b test <name of remote>/test

我用了那个:

git clean -fxd                         # removes untracked (new added plus ignored files)

git fetch
git checkout {branchname}

git reset --hard origin/{branchname}   # removes staged and working directory changes

使用使用fetch以拉动全部远程

   git fetch --all

要列出远程分支 :

   git branch -r

列出您所有的分支

   git branch -l
   >>outpots like-
     * develop
       test
       master

要取出/更改分支

   git checkout master

接受接受的答复不为你工作?

虽然第一个和选定的答案是技术上的正确中,您可能尚未从远程仓库中检索到所有对象和参考文献。如果是这种情况,您将会收到以下错误:

$ git checkout -b remote_branch origin/remote_branch

致命: git 检出: 更新路径与切换分支不兼容 。
您是否打算检查“ 来源/ remote_ branch ” 无法以承诺方式解决的“ 来源/ 远程- branch ” ?

解决方案

如果您收到此消息, 您必须首先完成git fetch origin何 地origin是运行前的远程仓库的名称git checkout remote_branch。以下是答复的完整例子:

$ git fetch origin
remote: Counting objects: 140, done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 69 (delta 36), reused 66 (delta 33)
Unpacking objects: 100% (69/69), done.
From https://github.com/githubuser/repo-name
   e6ef1e0..5029161  develop    -> origin/develop
 * [new branch]      demo       -> origin/demo
   d80f8d7..359eab0  master     -> origin/master

$ git checkout demo
Branch demo set up to track remote branch demo from origin.
Switched to a new branch 'demo'

如你所见 跑着跑着git fetch origin检索到我们尚未安装的远程分支, 以跟踪本地机器 。 从那里, 因为我们现在有一个 ref 到远程分支, 我们就可以运行git checkout remote_branch我们会从远程追踪中受益