Git 如何 clone 非 master 分支的代码

问题描述

我们每次使用命令

git clone git@gitlab.xxx.com:xxxxx.git

默认 clone 的是这个仓库的 master 分支。如果最新的代码不在 master 分支上,该如何拿到呢?如下图所示,最新的代码可能在daily/1.4.1分支上,我们希望拿到这个分支上的代码。

7f07c8f6deef169ef6be5103bbd3e932f8676bb1.png

解决方法

直接使用命令

git branch -r #查看远程分支

git branch -a #查看所有分支

会显示

origin/HEAD -> origin/master
origin/daily/1.2.2
origin/daily/1.3.0
origin/daily/1.4.1
origin/develop
origin/feature/daily-1.0.0
origin/master

然后直接

git checkout origin/daily/1.4.1

就好了。。。

 

git clone 默认会把远程仓库整个给clone下来; 
但只会在本地默认创建一个master分支

 

可以使用checkout命令来把远程分支取到本地

或者使用-t参数,它默认会在本地建立一个和远程分支名字一样的分支
折叠展开复制代码

$ git checkout -t origin/daily/1.4.1

也可以使用fetch来做:

$ git fetch origin python_mail.skin:python_mail.skin

不过通过fetch命令来建立的本地分支不是一个track branch,而且成功后不会自动切换到该分支上- z) t: R4 p- s6 _2 d3 a
注意:不要在本地采用如下方法:

  1. $ git branch python_mail.skin
  2. $ git checkout python_mail.skin
  3. $ git pull origin python_mail.skin:python_mail.skin

因为,这样建立的branch是以master为基础建立的,再pull下来的话,会和master的内容进行合并,有可能会发生冲突... 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值