git clone
克隆远程仓库默认是只克隆
master
分支,当想把远程仓库上的所有的分支都克隆下来的话,有以下几种方法。
使用远程仓库github上的LSMLIB仓库为例.该仓库在github上一共有三个分支:
master(default)
,
dev-samrai
,
dev
.
在使用
git
的过程中都使用
ssh
协议进行传输,可以进行免密登录。
使用
git clone
克隆仓库,默认克隆下来的远程仓库的整个仓库,但是只会在本地创建一个
master
分支。
git clone git@github.com:ktchu/LSMLIB.git
可以看出远程仓库一共有三个分支(remotes/origin/dev
,remotes/origin/dev-samrai
,remotes/origin/master
),并且远程仓库的HEAD
指针目前指向的是remotes/origin/master
分支。
新建两个本地分支与远程分支相同。
git checkout -b dev origin/dev #本地新建一个分支(dev),并且切换到该分支 与远程分支(origin/dev)对应
git checkout -b dev-samrai origin/dev-samrai # 同理
当新建完对应的分支,并且切换回来后,发现本地的对应工作区
的内容已经同步成对应分支的内容了。
说明git clone
克隆了所有的数据,只是需要将对应的分支形成接口,切换成对应的分支数据了。
使用如下命令,其实与上面的操作是类似的,在本地仓库下,新建分支与远程仓库的分支一一对应,然后进行同步所有分支即可。
git clone git@github.com:ktchu/LSMLIB.git
cd LSMLIB
git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
git fetch --all
git pull --all
git从远程仓库中获取所有分支
git从远程仓库获取所有分支
How to clone all remote branches in Git
上一篇:Unable to find Mach task port for process-id : (os/kern) failure (0x5). (please check gdb is codesi
下一篇:基于Java实现获取本地IP地址和主机名