git remote 指定分支_如何拉取git远程仓库的某个指定分支

本文介绍了如何使用Git拉取远程仓库的指定分支。通过`git clone`、`git fetch`和`git pull`命令,可以分别在克隆、下载或合并时指定分支。同时,详细说明了在不同场景下如何操作,包括如何处理未初始化的本地仓库、切换本地分支以及查看拉取的提交记录。
摘要由CSDN通过智能技术生成

git clone

本地分支默认与远程同名分支建立追踪关系。git clone会克隆一个版本库到本地。使用-b 或--branch 参数,它不会将新创建的HEAD指向克隆仓库的HEAD指向的分支(master分支),而是指向name分支。例如下面命令是拉取远程仓库的develop分支。$ git clone -b develop git@git.csdn.com:benben/2015test.git1

拉取到本地后,通过git branch -a可以看到,当前分支是develop分支。* develop

remotes/origin/HEAD -> origin/master

remotes/origin/develop

remotes/origin/master1234git fetch

会下载你远程仓库的对象和分支,例如$ git fetch origin会从远程refs/heads/命名空间中拷贝所有的分支,并将其拷贝到本地的refs/remotes/origin/命名空间。

上面的例子是你已经关联了一个远程仓库,但是比如你第一次没有使用git clone来克隆一个远程仓库时,使用git fetch 命令下载repository的内容。$ git fetch git@git.csdn.com:benben/2015test.git1

第一次执行这条命令时,如果报这样的错误:fatal: Not a git repository (or any of the parent directories): .git1

那是因为你还没有初始化本地的仓库,所以需要先使用git init命令进行初始化。

在git fetch执行成功后,如果你打开目录。没有发现远程仓库中的文件,那么可能的原因是你还没有切换到本地的分支上。利用git checkout ,即可切换到本地的branch分支上。这时就可以看到和远程仓库branch分支上一样的内容。

默认情况下,git fetch下载的分支和远程的分支名相同。如果你希望download后本地的分支和远程不一样,那么可以使用下面类似的命令:$ git fetch git@git.csdn.com:benben/2015test.git master:localmaster develop:localdevelop1

执行后会看到:remote: Enumerating objects: 12422, done.

remote: Counting objects: 100% (12422/12422), done.

remote: Compressing objects: 100% (7917/7917), done.

remote: Total 12422 (delta 4099), reused 12389 (delta 4073)

Receiving objects: 100% (12422/12422), 20.87 MiB | 1.16 MiB/s, done.

Resolving deltas: 100% (4099/4099), done.

From git@git.csdn.com:benben/2015test.git

* [new branch]      master     -> localmaster

* [new branch]      develop    -> localdevelop

* [new tag]         V1.0.0     -> V1.0.012345678910git pull

git pull命令相当于git fetch+ git merge命令。git fetch用于获取远程某个仓库的某个分支,然后git merge会将拉取的分支与本地分支进行合并。

如果你想拉取远程仓库的某个分支,那么使用git pull 命令。例如下面的命令会拉取远程develop分支到本地。$ git pull git@git.csdn.com:benben/2015test.git develop

remote: Enumerating objects: 12396, done.

remote: Counting objects: 100% (12396/12396), done.

remote: Compressing objects: 100% (7897/7897), done.

remote: Total 12396 (delta 4096), reused 12359 (delta 4067)

Receiving objects: 100% (12396/12396), 20.87 MiB | 1.35 MiB/s, done.

Resolving deltas: 100% (4096/4096), done.

From git@git.csdn.com:benben/2015test.git

* branch            develop    -> FETCH_HEAD

Checking out files: 100% (14904/14904), done.12345678910

使用git log FETCH_HEAD可以看到该分支的提交记录,但是当前本地分支还在master分支上,你还需要创建一个新的分支,然后将这两者关联起来。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值