SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 17750|回复: 1

[推荐] Git clone远程分支

[复制链接]
发表于 2010-5-1 17:34:57 | 显示全部楼层 |阅读模式
git clone默认会把远程仓库整个给clone下来3 e: E( t, B. b( E9 O1 M) g
但只会在本地默认创建一个master分支: O, O; W( D. W
如果远程还有其他的分支,此时用git branch -a查看所有分支:
  1. * master   / D5 T7 N) }# R+ G/ o5 t
  2. remotes/origin/HEAD -> origin/master   
    3 ^4 X4 @5 \/ I! Y' h, m
  3. remotes/origin/master   
    . s* l/ p- E7 |4 `. V% h& N: q; t; y
  4. remotes/origin/python_mail.skin   
    # B& E. {* M( }2 B2 m* L
  5. remotes/origin/udisk   ! y4 v; y+ z% Q8 r8 w' }, u
  6. remotes/origin/vip
复制代码
能看到远程的所有的分支,如remotes/origin/python_mail.skin
+ o3 x6 e+ u6 \7 s6 }可以使用checkout命令来把远程分支取到本地,并自动建立tracking
  1. $ git checkout -b python_mail.skin origin/python_mail.skin
    9 X# U0 G4 [& H$ x3 n" K; P+ O4 [
  2. Branch python_mail.skin set up to track remote branch python_mail.skin from origin.
    ) [+ |$ T9 B2 i* h3 J$ y3 C* g. D
  3. Switched to a new branch 'python_mail.skin'
复制代码
或者使用-t参数,它默认会在本地建立一个和远程分支名字一样的分支
6 F! H3 i* Q- C( U  Q2 W( ~+ S3 L折叠展开复制代码
  1. $ git checkout -t origin/python_mail.skin
复制代码
也可以使用fetch来做:
  1. $ git fetch origin python_mail.skin:python_mail.skin
复制代码
不过通过fetch命令来建立的本地分支不是一个track branch,而且成功后不会自动切换到该分支上! w# ]# L# q- t  P) T1 y) I
注意:不要在本地采用如下方法:
  1. $ git branch python_mail.skin
    3 i1 P2 _  a) [0 t! m- t
  2. $ git checkout python_mail.skin
    9 [1 v3 C$ w4 U1 r) f- A1 W
  3. $ git pull origin python_mail.skin:python_mail.skin
复制代码
因为,这样建立的branch是以master为基础建立的,再pull下来的话,会和master的内容进行合并,有可能会发生冲突...8 N% h' p* L: S4 R2 y0 d4 M
$ c; D0 n/ n& j( ]& ]
[ 本帖最后由 git 于 2010-5-1 17:39 编辑 ]
发表于 2012-2-23 14:34:21 | 显示全部楼层
内容比较详细,谢谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|无图版|SCMLife.com ( 京ICP备06056490号-1 )

GMT+8, 2017-11-18 11:51 , Processed in 0.059442 second(s), 6 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

快速回复 返回顶部 返回列表