美文网首页
GitHub 拉取指定子目录

GitHub 拉取指定子目录

作者: anyesu | 来源:发表于2019-05-24 02:15 被阅读0次

前言


无意间发现 GitHub 竟然支持 SVN 的方式拉取代码,于是有了使用 SVN 客户端 拉取 项目子目录 代码的想法,本文做个记录。

github svn support

关于拉取子目录的意图


一个项目大了之后通常会划分多个 子模块,还会加入一些 sample 项目测试用例 等等,有些甚至会包含多种语言的代码,总而言之就是有很多互不相关的东西。对于使用者来说,有时候可能只用到其中一部分而其他都是无关的,拉取全部代码不仅会对阅读造成干扰,还会有时间和空间上的浪费。

正文


用法参考 官方文档 ( 可切换为 简体中文 ) 。SVN 方式的仓库地址和 浏览器地址栏 中看到的项目 URL 是一致的。

checkout 一个完整的项目:

# svn co 是 svn checkout 的缩写
svn co https://github.com/anyesu/websocket

看下目录结构

websocket
├── branches
│   └── dev
├── tags
│   └── 0.0.1
└── trunk
    ├── LICENSE
    ├── README.md
    ├── pom.xml
    ├── websocket-chat
    ├── websocket-core
    ├── websocket-parent
    └── websocket-samples
  • trunk 代表主分支

  • branches 下是其余的分支

  • tags 下是所有的标签

整个目录结构还是很清晰的,所以想拉取指定子目录的代码只要仓库路径跟上对应的子路径就好了。

比如要拉取 Tomcat-Websocket 这个子项目:

svn co https://github.com/anyesu/websocket/trunk/websocket-samples/Tomcat-Websocket

查看提交记录可以看到只剩下当前目录相关的修改了,很干净。

又比如要拉取 0.0.1 这个版本的代码:

svn co https://github.com/anyesu/websocket/tags/0.0.1 websocket-0.0.1

tagbranch 不一样,只有一条提交记录。

其他用法


功能当然不仅仅是上面说的 checkout,而是支持 SVN 的大部分用法 ( 好吧,我也不保证,自己试试吧 ) ,其中就包括通过 版本库浏览器 ,可以在线查看项目而不用拉代码到本地。

IDEA版本库浏览器 使用方法:

菜单栏 VCS -> Browse VCS Repository -> Browse Subversion Repository -> Add

svn browser svn browser svn browser

结语


上述方法 适用于 GitHub ,目前还未发现其他 Git 托管平台 支持这种操作,可以参照 这里 的方法解决。我猜,GitHub 上应该是实现 SVN 到 Git 的协议转换或者简单粗暴的建立了一个 SVN 的镜像仓库。


转载请注明出处:https://www.jianshu.com/p/20205df72001

相关文章

  • GitHub 拉取指定子目录

    前言 无意间发现 GitHub 竟然支持 SVN 的方式拉取代码,于是有了使用 SVN 客户端 拉取 项目子目录 ...

  • 安装ansible-2.5.0

    安装git yum -y install git 安装Ansible软件包 从github拉取指定版本的ansib...

  • Docker安装Logstash详解

    1、拉取镜像 指定版本(6.4.3)进行拉取,不指定版本是以latest版本为主. 2、创建文件目录 指定目录进行...

  • Docker安装Kibana详解

    1 、拉取镜像 指定版本(6.4.3)进行拉取,不指定版本是以latest版本为主. 2 、创建文件目录 指定一个...

  • Go源码阅读-私有库拉取问题

    原文链接GitHub go get拉取私有库报错 http拉取问题(>=1.6) go get github.co...

  • postgres

    拉取指定版本 docker pull postgres:13.2 查看拉取的镜像 docker images 创建...

  • Git使用分支管理策略及冲突处理

    一、拉取仓库代码 1、拉取master分支 2、拉取项目指定分支 二、忽略配置特殊文件 .gitignore 三、...

  • 【Git】基本操作

    一、拉取代码 1. 拉取指定分支代码 git clone -b [URL] 2. 拉取远程仓库代码(拉取远程仓库代...

  • Ubuntu上搭建静态博客网站

    自动拉取github上的更新 安装git 生成ssh key,并添加到github白名单 拉取github上博客r...

  • images

    镜像更新方式 IfNotPresent 如果不存在就拉取 Always 或者指定:latest 拉取最新 nev...

网友评论

      本文标题:GitHub 拉取指定子目录

      本文链接:https://www.haomeiwen.com/subject/adcwzqtx.html