如何从远程源拉分支

时间:2012-04-16 13:22:05

标签: git branch remote-branch

如何在Git上获取我的存储库的所有分支? 我尝试了以下方法:

git remote add origin git@github.com:anchetaWern/Zenoir-Online-Classroom.git
git pull git@github.com:anchetaWern/Zenoir-Online-Classroom.git

我在该存储库中有3个分支但现在我只有主分支。我如何撤回其他2?

4 个答案:

答案 0 :(得分:3)

添加远程origin后,您不必再次引用该网址。这是添加遥控器的重点。

您可以完成git pull origin

现在,如果你git branch -a,你会看到远程分支(2个“缺失”)。默认情况下,只将主服务器签出为本地分支。

只需执行git checkout branch_name检查它们并设置一个本地分支(每次一次)

答案 1 :(得分:1)

当我使用分支时,这是我的典型工作流程:

  1. 将分支推送到github

    git push origin newbranch
    
  2. 将github上的分支拉到另一台计算机上

    git fetch origin
    
  3. 从github拉出的分支上工作

    git checkout -b newbranch origin/newbranch
    

答案 2 :(得分:1)

执行'git remote add origin-repo'后,只需执行'git fetch -a origin',此时所有分支都在那里并准备好检出。这是一个典型的工作流程:

$ git init
Initialized empty Git repository in /Users/ebg/test/dev5/.git/
$ git remote add origin  /Users/ebg/test/dev1
$ git fetch -a origin
remote: Counting objects: 41, done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 41 (delta 15), reused 0 (delta 0)
Unpacking objects: 100% (41/41), done.
From /Users/ebg/test/dev1
 * [new branch]      add-on     -> origin/add-on
 * [new branch]      master     -> origin/master
$ git checkout add-on
Branch add-on set up to track remote branch add-on from origin.
Switched to a new branch 'add-on'

因此,对于此示例,分支'加载项'现在位于工作目录中,'git checkout master'将从远程'origin'获取文件(如果需要)。

答案 3 :(得分:0)

要检出远程存在的myBranch而不是本地存在的-这对我有用:

git fetch --all
git checkout <BranchName>

另一种解决方案:

我先使用fetch,然后结帐...

git fetch <remote> <rbranch>:<lbranch> 
git checkout <lbranch>

...在哪里,是远程分支或源引用,是您要跟踪的尚不存在的本地分支或目标引用,并且可能要与远程分支或源引用相同的名称。