如何下载一个分支与git?

我有一个项目托管在GitHub上。我在一台计算机上创建了一个分支,然后将我的更改推到GitHub:

git push origin branch-name

现在我在另一台计算机上,我想下载那个分支。所以我试着:

git pull origin branch-name

...但这一切都是覆盖我的主分支与我的新分支的变化。

我需要做什么才能正确地拉出我的远程分支,而不覆盖现有的分支?

447672 次浏览

创建一个新目录,然后做一个克隆。

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

你可以像这样使用git远程:

git fetch origin

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

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

现在远程github分支的内容在local-branch-name中。

你可以切换到local-branch-name并开始工作:

git checkout [local-branch-name]

由于相关的问题,我发现我需要“签出”远程分支作为一个新的本地分支,并指定一个新的本地分支名称。

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中,它足够智能,可以知道你想结帐这个远程分支的本地副本。

对于像我这样的Git新手,可以按照以下步骤下载远程存储库,然后切换到想要查看的分支。他们可能在某种程度上滥用Git,但它对我有用!: -)

克隆你想要下载代码的存储库(在这个例子中,我选择了Github上的LRResty项目):

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

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

$ git branch
* master

查看你想要的分支,在我的情况下,它被称为“arcified”:

 $ 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.

在repo名称中复制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

导航到新机器上你想要从git上的git bash下载的文件夹。

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

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

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

你可以使用:

git clone <url> --branch <branch>

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

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

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

Git checkout -b branch/name

Git拉源码分支/名称

我们可以使用以下神奇的命令来下载指定的分支:

git clone -b < branch name > <remote_repo url>

$ git fetch

$ git checkout <branch>

git fetch将获取所有远程分支。 你可以用git branch -r(或git branch -rv)来验证远程分支。 如果你没有同名的现有分支,你可以直接切换到git checkout <branch>

的分支

快速回答:

https://github.com/[username]/[respository]/archive/refs/heads/[branch].zip

您可以使用该链接直接下载,而无需使用复杂的cmd。