#github #organization #git

app ghopac

GitHub Organization Pull And Clone

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2017年8月18日

#48 in #organization

GPL-3.0 许可证

18KB
236

ghopac - GitHub Organization Pull And Clone

ghopac 是一个实用工具,可以从一个或多个 GitHub 组织中拉取 - 如果本地磁盘上缺失,则克隆 - 你可以访问的所有仓库。如果配置文件中指定了额外的仓库,它也会从这些仓库中 pull,这些仓库不需要属于任何特定的 GitHub 组织。

从源码构建

  1. 安装 rust(根据你的平台/发行版,你可能需要单独安装 cargo
  2. 切换到顶级源目录
  3. 通过运行以下命令构建二进制文件:cargo build --release;你的优化二进制文件应该在 ./target/release/ghopac
  4. [可选] 运行 cargo installghopac 放入你的 ${HOME}/.cargo/bin 目录;如果需要,将其添加到你的 PATH

使用方法

  1. https://github.com/settings/tokens 获取 GitHub 访问令牌;最低访问权限应为读取你的组织和仓库

  2. ${XDG_CONFIG_HOME}/ghopac/config.json 创建一个配置文件,以下是一个示例

     {
         "concurrency": 4,
         "verbose": true,
         "github_access_token": "<from step 1>",
         "orgs": [
             {
                 "org": "my_github_org",
                 "path": "/my/base/code/dir/for/my_github_org"
             }
         ],
         "syncpoints": [
             "/some/other/cloned/repo/dir",
             "/yet/another/separately/cloned/repo/dir"
         ]
     }
    
  3. 运行 ghopac

配置说明

  • 该程序遵循 XDG Base Directory Specification 来查找你的配置文件位置
  • 你可以不使用 GitHub 组织,只需省略 orgs,只使用 syncpoints
  • 如果未指定,concurrency 将默认为 4
  • syncpoints 不需要属于任何特定的 GitHub 组织;它们只是你期望 git pull 正确工作的本地目录
  • 如果你没有配置文件,运行程序将会失败,并输出一个示例文件以供你开始

待办事项

  • 添加命令行参数以覆盖配置文件
  • 对于组织,如果所有仓库太多,请添加过滤功能。
  • 查看问题列表了解更多...

依赖项

~8–18MB
~287K SLoC