up2GitX V1.0.0 发布 - 批量 Git 托管工具
将本地仓库批量上传至 Gitee、Github、Gitlab 平台(目前仅支持 Gitee )
工具采用 Go 编写,算是跟 Go 的第一次亲密接触了
功能特点
- [简单] 可自动在对应平台创建同名仓库并上传
- [可靠] 可选择是否本地覆盖远程(如果同名仓库在远端已存在)
- [灵活] 可通过多种方式导入仓库源(目录、文本列表)
- [快速] 并发5个同时操作(各平台均有限制,5个并发可保证成功率及速度)
注意事项
- 工具会自动生成临时的一个 Remote
up2GitX-{timestamp}
进行推送,不会影响现有的 Remote 配置 - 工具会调用OAuth授权进行仓库的创建,后续可以在第三方应用管理取消授权
- 工具在进行处理的过程中会对特殊情况进行交互,请仔细阅读并慎重选择
设计流程
使用简介
下载对应平台的二进制包,可直接运行
以 Gitee 为例 ./up2 gitee -h
➜ up2GitX git:(master) ✗ ./up2 gitee -h This command is used for sync local repo to Gitee Name: gitee Usage: ./up2 [Global Options...] gitee [--option ...] [argument ...] Global Options: --verbose Set error reporting level(quiet 0 - 4 debug) --no-color Disable color when outputting message -h, --help Display this help information Arguments: repoSource Tell me which repo dir or list your want to sync, is required Examples: Using dir: ./up2 gitee /Zoker/repos/ Dir example $ ls -l /Zoker/repos/ drwxr-xr-x 4 zoker 128B Jun 1 19:05 git-work-repo1 drwxr-xr-x 4 zoker 128B Jun 1 19:02 taskover drwxr-xr-x 4 zoker 128B Jun 1 19:03 blogine drwxr-xr-x 3 zoker 96B Jun 1 12:15 git-bare-repo3 ... Using file: ./up2 gitee /Zoker/repos.list File example $ cat /Zoker/repos.list /tmp/repos/git-work-repo1 /Zoker/workspace/git-work-repo2 /other/path/to/git-bare-repo3 ...
使用示例
这里以上传到 Gitee 为例
1、指定 RepoSource
可以是一个包含很多 Git 仓库的目录,也可以是一个包含很多 Git 仓库绝对路径的文本文件,下面以目录为例
确认这些 Git 仓库是不是你所预期的
2、输入 Gitee 账号信息并选择同步到哪个 Namespace
输入注册 Gitee 所用的邮箱以及密码,认证成功后会列出可用的 Namespace,在 Gitee 上,它可以是个人名下、组织名下或者企业名下。(目前仅支持上传到个人名下,后续接口功能到位会支持组织和企业)
3、确认将要生成的仓库链接并选择公开属性
确认要生成的仓库链接是否符合预期,示例中有中文是为了演示错误选项的处理,如果确认无误,选择仓库的公私有属性
4、在 Gitee 上创建仓库并展示结果
可以看到有一个创建成功,一个创建失败,一个已经存在同名地址
对于失败的,会提示我们选择是否跳过或者退出修复错误,这里我们选择跳过
紧接着会提示对于已经存在的项目该怎么处理,你可以选择跳过,也可以选择本地强制覆盖远端,这里我们选择强制覆盖
5、同步代码到 Gitee
同步代码完成后会给出每一个代码仓的具体同步状态
这个时候我们前往 Gitee 查看动态
可以看到本地的分支已经推送到 Gitee 平台,这里的同步是会同步所有的本地分支和标签,图中的强制推送就是我们刚刚选择了覆盖,所以工具会强制用本地的代码覆盖远端 Gitee 的代码,所以请想清楚,再做选择。
构建
项目使用go
开发,拉取代码执行go build up2.go
即可
需要注意的是要修改对应的 OAuth 客户端的id
和key
,以 Gitee 平台为例:
修改 gitee.go
文件中的 askForAccount
的 Client 信息
params := fmt.Sprintf(`{ "grant_type": "password", "username": "%s", "password": "%s", "client_id": "xxxx", // client id from Gitee "client_secret": "xxxx", // client secret from Gitee "scope": "user_info projects groups enterprises" }`, email, password)
通过对 Client 的信息的改动可以支持 Gitee 公有云以及大部分的 Gitee 私有云客户。
感谢
- gCli Go 的命令行工具库
贡献代码
欢迎提交 Github 以及 Gitlab 的上传支持!
- Fork 仓库
- 创建本地分支 (
git checkout -b my-new-feature
) - 提交更改 (
git commit -am 'Add some feature'
) - 推送到分支 (
git push origin my-new-feature
) - 创建一个 Pull Request
贡献者
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
x-easypdf v2.0.0 版本发布
一行代码搞定pdf的框架 本次更新如下: 1.新增表格组件 2.新增页眉组件 3.新增页脚组件 4.新增方形组件 5.文档组件支持权限设置,支持文档属性设置,支持背景色设置,支持全局字体设置,支持全局页眉页脚设置,支持文档拆分,支持文档合并,支持页面转图片 6.页面组件支持页面字体设置,支持页眉页脚设置,支持页眉背景色设置 7.新增XEasyPdfHandler,用于统一的组件构建 8.XEasyPdfUtil用于单一操作,例如创建,追加,插入,填充,合并,拆分,转图片等
- 下一篇
一次有趣的Elasticsearch+矩阵变换聚合实践
作者介绍 李猛,Elastic Stack 深度用户,通过 Elastic 工程师认证,2012年接触 Elasticsearch,对 Elastic Stack 技术栈开发、架构、运维等方面有深入体验,实践过多种大中型项目;为企业提供 Elastic Stack 咨询培训以及调优实施;多年实战经验,爱捣腾各种技术产品,擅长大数据,机器学习,系统架构。 背景需求 公司所属行业是物流速运,面向企业服务(简称ToB模式),提供多种物流运输方案产品,客户分布遍布全国,客户数量在百万级以上,日均产生物流运输需求在几十万票(单)以上,对于客户订单的聚合统计分析查询需求强烈,且需要一定的实时性。 同时需要满足以下用户需求:1、用户需要在地图上展示客户的聚合分布;2、聚合分布维度按照全国、省、市、区县、乡镇划分。 地图展示样例:非内部效果图 筛选条件 用户端
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作