代码之家  ›  专栏  ›  技术社区  ›  Andrew

如何用git下载分支?

  •  173
  • Andrew  · 技术社区  · 15 年前

    我在Github上主持了一个项目。我在一台计算机上创建了一个分支,然后将更改推送到GitHub:

    git push origin branch-name
    

    现在我在另一台电脑上,我想下载那个分支。所以我尝试:

    git pull origin branch-name
    

    …但这一切都是用新分支中的更改覆盖了我的主分支。

    在不覆盖现有分支的情况下,如何正确地拉出远程分支?

    7 回复  |  直到 6 年前
        1
  •  312
  •   Community Mohan Dere    8 年前

    多亏了 related question ,我发现需要将远程分支“签出”为新的本地分支,并指定新的本地分支名称。

    git checkout -b newlocalbranchname origin/branch-name
    

    或者你可以这样做:

    git checkout -t origin/branch-name
    

    后者将创建一个分支,该分支也设置为跟踪远程分支。


    更新: 从我最初发布这个问题到现在已经5年了。我学到了很多,从那以后Git也有所进步。我通常的工作流程现在有点不同了。

    如果我想获取远程分支,我只需运行:

    git pull
    

    这将获取所有远程分支并合并当前分支。它将显示如下所示的输出:

    From github.com:andrewhavens/example-project
       dbd07ad..4316d29  master     -> origin/master
     * [new branch]      production -> origin/production
     * [new branch]      my-bugfix-branch -> origin/my-bugfix-branch
    First, rewinding head to replay your work on top of it...
    Fast-forwarded master to 4316d296c55ac2e13992a22161fc327944bcf5b8.
    

    现在Git知道我的新 my-bugfix-branch . 要切换到这个分支,我只需运行:

    git checkout my-bugfix-branch
    

    通常,我需要在签出分支之前创建它,但是在较新版本的Git中,它足够智能,可以知道您要签出这个远程分支的本地副本。

        2
  •  56
  •   Dan J Akhil    13 年前

    对于像我这样的Git新手,您可以按照以下步骤下载远程存储库,然后切换到要查看的分支。他们可能在某种程度上虐待吉特,但它确实帮了我的忙!:-)

    克隆要为其下载代码的存储库(在本例中,我选择了 LRResty project 关于GITHUB):

    $ git clone https://github.com/lukeredpath/LRResty.git
    $ cd LRResty
    

    检查此时正在使用的分支(应该是主分支):

    $ git branch    
    * master
    

    看看你想要的分支,在我的例子中,它被称为“电弧化的”:

     $ git checkout -b arcified origin/arcified
     Branch arcified set up to track remote branch arcified from origin.
     Switched to a new branch 'arcified'
    

    确认您现在正在使用所需的分支:

    $ git branch    
    * arcified
      master
    

    如果要稍后再次更新代码,请运行 git pull :

    $ git pull
    Already up-to-date.
    
        3
  •  20
  •   MikeN ardsrk    12 年前

    您可以使用git-remote,比如:

    git fetch origin
    

    然后设置一个本地分支来跟踪远程分支,如下所示:

    git branch --track [local-branch-name] origin/remote-branch-name
    

    现在,您将拥有本地分支名称中的远程Github分支的内容。

    您可以切换到本地分支名称并开始工作:

    git checkout [local-branch-name]
    
        4
  •  10
  •   Amit Joshi    8 年前

    导航到要从Git-Bash上的Git下载的新计算机上的文件夹。

    使用下面的命令从您喜欢的任何分支下载代码

    git clone 'git ssh url' -b 'Branch Name'

    它将下载相应的分支代码。

        5
  •  9
  •   Pablo Ezequiel Inchausti    9 年前

    报告名称中的Git克隆和CD:

    $ git clone https://github.com/PabloEzequiel/iOS-AppleWach.git
    Cloning into 'iOS-AppleWach'...
    $ cd iOS-AppleWach
    

    切换到我想要的分支(Github页面):

    $ git checkout -b gh-pages origin/gh-pages
    Branch gh-pages set up to track remote branch gh-pages from origin.
    Switched to a new branch 'gh-pages'
    

    拉树枝:

    $ git pull
    Already up-to-date.
    

    LS:

    $ ls
    index.html      params.json     stylesheets
    
        6
  •  6
  •   Old Markus    7 年前

    你可以使用:

    git clone <url> --branch <branch>

    只克隆/下载分支的内容。

    这对我特别有帮助,因为我的分支的内容与主分支完全不同(尽管这通常不是这样)。 因此,上面其他人列出的建议对我没有帮助,即使在我检查了分支并执行了git pull之后,我最终还是会得到一份master的副本。

    这个命令将直接提供分支的内容。这对我很有用。

        7
  •  -7
  •   Sei Satzparad    15 年前

    创建一个新目录,然后改为执行克隆。

    Git克隆(源地址)(分支机构名称)