git同步远程仓库的所有分支

转自:git同步远程仓库的所有分支

git clone克隆的是整个远程仓库,包括所有分支,但是默认在本地只能看到master分支。当想查看远程其他分支时,有以下几种方法。

使用远程仓库github上的LSMLIB仓库为例.该仓库在github上一共有三个分支:master(default),dev-samrai,dev.

在使用git的过程中都使用ssh协议进行传输,可以进行免密登录。

方法一

1、使用 git clone克隆仓库,默认克隆下来的远程仓库的整个仓库,但是只会在本地创建一个master分支。

git clone git@github.com:ktchu/LSMLIB.git

2、查看克隆下来代码的分支情况,同时可以查看远程仓库的分支情况。

git branch -a    # 查看所有的分支(包括本地分支和远程分支)
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/dev-samrai
  remotes/origin/master

可以看出远程仓库一共有三个分支(remotes/origin/devremotes/origin/dev-samrairemotes/origin/master),并且远程仓库的HEAD指针目前指向的是remotes/origin/master分支。

3、新建两个本地分支与远程分支相同。

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 clone -b 分支名 仓库地址,之后会在本地创建远程分支的同名分支,并建立两者间的追踪关系。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值