如何用git下载分支?
我有一个在GitHub上托管的项目。 我在一台计算机上创建了一个分支,然后将更改推送到github
git push origin branch-name
现在我在另一台计算机上,我想下载该分支。 所以我尝试了:
git pull origin 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
看看你想要的分支,在我的情况下,它被称为“圆化”:
$ 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.
你可以像使用git remote一样:
git fetch origin
然后设置一个本地分支来跟踪远程分支,如下所示:
git branch --track [local-branch-name] origin/remote-branch-name
您现在可以在本地分支名称中获得远程github分支的内容。
你可以切换到本地分支名称并开始工作:
git checkout [local-branch-name]
链接地址: http://www.djcxy.com/p/4437.html