git clone所有远程分支

来源:互联网 发布:xgpush java开发 编辑:程序博客网 时间:2024/04/30 22:27

git clone只会在本地默认创建一个master分支,只能克隆master分支的代码,无法clone所有分支,如果主分支没代码就只能看到.git目录。如下面的这个:

$ git clone git://xxx.org/yyy/zzz.git

发现本地只有一个.git目录,那么就需要checkout。

进入你的本地目录,

$ cd zzz

如果远程还有其他的分支,此时用

$ git branch -a

查看所有分支:

  • master
    remotes/origin/HEAD -> origin/master
    remotes/origin/master
    remotes/origin/develop
    remotes/origin/android

能看到远程的所有的分支,如remotes/origin/develop
可以使用checkout命令来把远程分支取到本地,并自动建立tracking

$ git checkout -b develop origin/develop
Branch develop set up to track remote branch develop from origin.
Switched to a new branch ‘develop’.

作用是checkout远程的develop分支,在本地起名为develop分支,并切换到本地的develop分支。

$ git checkout -b android origin/android

作用参见上一步解释。

$ git checkout develop,切换回develop分支,并开始开发。

或者使用-t参数,它默认会在本地建立一个和远程分支名字一样的分支

$ git checkout -t origin/develop

也可以使用fetch来做:

$ git fetch origin develop:develop

不过通过fetch命令来建立的本地分支不是一个track branch,而且成功后不会自动切换到该分支上

假如develop分支下有submodule,使用

git submodule statusgit submodule initgit submodule updategit pull

同步子分支。

注意,不要在本地采用如下方法:

$ git branch develop

$ git checkout develop

$ git pull origin develop:develop

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

0 0