IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> [开源工具] gitdump - 批量导出托管 Git 仓库 -> 正文阅读

[开发工具][开源工具] gitdump - 批量导出托管 Git 仓库

最近在重新捯饬我的那台群辉 NAS,把备份功能重新整理一下。

突然发现,有很多需要备份的东西,并不是以常见的文件形式保存的,比如 Git 仓库 和 电子邮箱。

完整备份 Git 仓库, 不仅仅是备份文件,同时也要备份提交记录和标签,最好的形式是把远程 Git 仓库克隆到本地的 bare Git 仓库,并定期 fetch。

因此我开发了 gitdump 工具,可以批量读取 Github, Gitea, Gitee 和 Coding 的账户信息,枚举所有用户有权限的 Git 仓库,并以 Git bare 仓库格式,增量备份到本地。

代码地址

开源地址:https://github.com/guoyk93/gitdump

下载地址:https://github.com/guoyk93/gitdump/releases/tag/v1.0.0

使用方法

配置文件

首先准备一个 YAML 格式的配置文件,名叫 config.yaml

# 要导出的目录
dir: repos
# 下载并发数
concurrency: 3
# 账户信息,相同 vendor 可以填写多个条目
accounts:

	# Github
	- vendor: github
	  # username 填写 Github 用户名
	  username: guoyk93
	  # password 填写 Github 的 用户个人令牌
	  # 创建令牌的时候,需要勾选 read:org, read:project, read:user, repo 权限
	  password: xxxxxxxxxxxxxxxxxxxxxx
	  
	# Gitee
	- vendor: gitee
	  # username 填写 Gitee 用户
	  username: guoyk93
	  # password 填写 Giteee 的 用户个人令牌
	  # 创建令牌的时候,需要勾选 projects 权限
	  password: xxxxxxxxxxxxxxxxxxxxxx
	  
	# Gitea
	- vendor: gitea
	  # url 填写你的 Gitea 实例的地址
	  url: https://git.xxxx.com
	  # username 填写 Gitea 用户名
	  username: guoyk
	  # password 填写 Gitea 的 用户个人令牌
	  password: xxxxxxxxxxxxxxxxxxxxxxxx
	  
	# Coding
	- vendor: coding
	  # url 填写你的 Coding 实例访问地址,包含租户子域名
	  url: https://myteam.coding.net
	  # username 填写 Coding 个人令牌用户名,在个人令牌页面可以查看
	  username: 2ejmutP8A
	  # password 填写 Coding 个人令牌
	  password: xxxxxxxxxxxxxxxxxxxxxxxxxx

执行

执行命令

chmod +x gitdump
./gitdump -conf config.yaml

gitdump 工具就会枚举你的账户有权限访问的所有 Git 仓库,备份到本地 repos 目录下,建立对应的 Git bare 仓库文件夹,并使用 git fetch -f --tags 等价命令,拉取最新代码。

其他

基于同样的理由,我也做了一个 imapdump 工具,用于批量备份邮件并保存到本地的 .eml 文件中,下一篇文章介绍

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:38:53  更:2022-09-13 11:42:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 1:57:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码