git同步远程仓库的所有分支
git clone
克隆远程仓库默认是只克隆master
分支,当想把远程仓库上的所有的分支都克隆下来的话,有以下几种方法。
使用远程仓库github上的LSMLIB仓库为例.该仓库在github上一共有三个分支:master(default)
,dev-samrai
,dev
.
在使用git
的过程中都使用ssh
协议进行传输,可以进行免密登录。
方法一
-
使用
git clone
克隆仓库,默认克隆下来的远程仓库的整个仓库,但是只会在本地创建一个master
分支。git clone git@github.com:ktchu/LSMLIB.git
-
查看克隆下来代码的分支情况,同时可以查看远程仓库的分支情况。
git branch -a # 查看所有的分支(包括本地分支和远程分支) * master remotes/origin/HEAD -> origin/master remotes/origin/dev remotes/origin/dev-samrai remotes/origin/master
可以看出远程仓库一共有三个分支(
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2020-07-10 Docker之操作系统Alpine
2017-07-10 更改Jenkins的workspace目录
2017-07-10 idea 一次性自动导包
2017-07-10 【转】异步的AsyncHttpClient使用详解
2017-07-10 【转】同步的HttpClient使用详解
2017-07-10 Intellij IDEA中Maven解决依赖失效
2015-07-10 【Android】神奇的android:clipChildren属性