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

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

当前回答

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

git fetch --all

然后检查到分支:

git checkout test

其他回答

您可以开始跟踪所有远程分支, 使用以下 Bash 脚本 :

#!/bin/bash
git fetch --all
for branch in `git branch -r --format="%(refname:short)" | sed 's/origin\///'`
  do git branch -f --track "$branch" "origin/$branch"
done

以下是单线版本:

git fetch --all; for branch in `git branch -r --format="%(refname:short)" | sed 's/origin\///'`; do git branch --track "$branch" "origin/$branch" ; done ;

有许多替代办法,例如:

  • 备选案文1:

    git fetch && git checkout test
    

    这是最简单的办法

  • 备选案文2:

    git fetch
    git checkout test
    

    是一样的,但分两步走

我尝试了上面的解决方案,但行不通。试试这个,它奏效了:

git fetch origin 'remote_branch':'local_branch_name'

这将获取远程分支, 并创建一个新本地分支( 如果尚未存在) 名称local_branch_name并追踪其中的遥控者。

对我们来说,似乎remote.origin.fetch配置存在一个问题。 因此, 我们无法看到比master, 如此git fetch [--all]没有帮助,也没有帮助。git checkout mybranchgit checkout -b mybranch --track origin/mybranch确实工作过,虽然肯定在遥远的地方。

仅允许上一个配置master要获取的 :

$ git config --list | grep fetch
remote.origin.fetch=+refs/heads/master:refs/remotes/origin/master

通过使用来修补它*从源头获取新信息 :

$ git config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*'

$ git fetch
...
 * [new branch] ...
...

现在我们可以git checkout本地边远分支。

我不知道这个配置怎么会 出现在我们本地的仓库里

如果该分支所在的事物上不是其他的,origin我喜欢做以下工作:

$ git fetch
$ git checkout -b second/next upstream/next

这将检出next分支上upstream远程连接到一个本地分支,该分支被调用second/next。这意味着,如果您已经拥有下一个命名为本地分支的分支,则不会发生冲突。

$ git branch -a
* second/next
  remotes/origin/next
  remotes/upstream/next