git clone 远程分支
2015-12-14 16:38
447 查看
相关资料:http://stackoverflow.com/questions/1783405/checkout-remote-git-branch
有时git clone下来会出现很多branch,更麻烦的是如果主分支没代码那你就只能看到.git目录了。如下面的这个:
$ git clonegit://gitorious.org/android-eeepc/mesa.git
发现本地就只有一个.git目录,那么这个时候就需要checkout了。
进入你的本地目录,如这个是mesa,利用
$ git branch –r
查看branch信息(当然你也可以用git show-branch查看,不过有时并不好用),获得如下branch信息:
origin/android
origin/mesa-es
origin/mesa-es-dri
此时我们需要的是android分支的代码,那么此时就要进行checkout了。
$ git checkout origin/android
你再看你的目录(mesa)下是不是有了代码了?其它的branch同理。
git clone默认会把远程仓库整个给clone下来;
T2 {0 t, l+ @0 U" C2 g) i
但只会在本地默认创建一个master分支
如果远程还有其他的分支,此时用git branch -a查看所有分支:
* master
remotes/origin/HEAD -> origin/master " A4 u3 ~+ n5 u5 \7 R" Z( d# J
remotes/origin/master
remotes/origin/python_mail.skin
remotes/origin/udisk
remotes/origin/vip
复制代码
能看到远程的所有的分支,如remotes/origin/python_mail.skin e Y' X9 ~, f1 |
可以使用checkout命令来把远程分支取到本地,并自动建立tracking
$ git checkout -b python_mail.skin origin/python_mail.skin) X& X: I3 Q; ?9 j9 T5 @; J/ M
Branch python_mail.skin set up to track remote branch python_mail.skin from origin.; i/ B! ^3 J# u6 a( }. I$ M- i
Switched to a new branch 'python_mail.skin'
复制代码
或者使用-t参数,它默认会在本地建立一个和远程分支名字一样的分支
折叠展开复制代码
$ git checkout -t origin/python_mail.skin
复制代码
也可以使用fetch来做:
$ git fetch origin python_mail.skin:python_mail.skin
复制代码
不过通过fetch命令来建立的本地分支不是一个track branch,而且成功后不会自动切换到该分支上- z) t: R4 p- s6 _2 d3 a
注意:不要在本地采用如下方法:
$ git branch python_mail.skin
$ git checkout python_mail.skin/ i8 z/ N: a% v/ Q: M
$ git pull origin python_mail.skin:python_mail.skin
复制代码
因为,这样建立的branch是以master为基础建立的,再pull下来的话,会和master的内容进行合并,有可能会发生冲突
有时git clone下来会出现很多branch,更麻烦的是如果主分支没代码那你就只能看到.git目录了。如下面的这个:
$ git clonegit://gitorious.org/android-eeepc/mesa.git
发现本地就只有一个.git目录,那么这个时候就需要checkout了。
进入你的本地目录,如这个是mesa,利用
$ git branch –r
查看branch信息(当然你也可以用git show-branch查看,不过有时并不好用),获得如下branch信息:
origin/android
origin/mesa-es
origin/mesa-es-dri
此时我们需要的是android分支的代码,那么此时就要进行checkout了。
$ git checkout origin/android
你再看你的目录(mesa)下是不是有了代码了?其它的branch同理。
git clone默认会把远程仓库整个给clone下来;
T2 {0 t, l+ @0 U" C2 g) i
但只会在本地默认创建一个master分支
如果远程还有其他的分支,此时用git branch -a查看所有分支:
* master
remotes/origin/HEAD -> origin/master " A4 u3 ~+ n5 u5 \7 R" Z( d# J
remotes/origin/master
remotes/origin/python_mail.skin
remotes/origin/udisk
remotes/origin/vip
复制代码
能看到远程的所有的分支,如remotes/origin/python_mail.skin e Y' X9 ~, f1 |
可以使用checkout命令来把远程分支取到本地,并自动建立tracking
$ git checkout -b python_mail.skin origin/python_mail.skin) X& X: I3 Q; ?9 j9 T5 @; J/ M
Branch python_mail.skin set up to track remote branch python_mail.skin from origin.; i/ B! ^3 J# u6 a( }. I$ M- i
Switched to a new branch 'python_mail.skin'
复制代码
或者使用-t参数,它默认会在本地建立一个和远程分支名字一样的分支
折叠展开复制代码
$ git checkout -t origin/python_mail.skin
复制代码
也可以使用fetch来做:
$ git fetch origin python_mail.skin:python_mail.skin
复制代码
不过通过fetch命令来建立的本地分支不是一个track branch,而且成功后不会自动切换到该分支上- z) t: R4 p- s6 _2 d3 a
注意:不要在本地采用如下方法:
$ git branch python_mail.skin
$ git checkout python_mail.skin/ i8 z/ N: a% v/ Q: M
$ git pull origin python_mail.skin:python_mail.skin
复制代码
因为,这样建立的branch是以master为基础建立的,再pull下来的话,会和master的内容进行合并,有可能会发生冲突
相关文章推荐
- 第十六周--项目一--验证算法(2)
- 第十六周项目--直接插入排序
- android actionbar设置返回不指定ParentName
- 测试开发Python培训:模拟登录新浪微博-技术篇
- Bonfire: Missing letters
- 第16周—项目1(4) 直接选择排序
- 【理财】理财中资产负债--投资--产品金额计算规则
- Formal System-谓词逻辑范式(Prädikatenlogik Normalformen)
- Day1之WhileDemo
- Day1之ForForDemo
- (数据挖掘-入门-2)相似度衡量的方法
- (数据挖掘-入门-1)基于用户的协同过滤之最近邻
- AndoridSD卡文件夹的创建和判断
- CSS Sprites技术
- sql 去重
- Xml解析之——Java/Android/Python
- Apache2.4+PHP5.6+Mysql5.6(web环境搭建)
- MySql的字符串“=”查询优化
- 第十六周项目1-验证算法之直接插入排序
- python之记录一次内存泄露