news 2026/4/23 11:51:56

【git】git-transfer一行搞定仓库迁移

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【git】git-transfer一行搞定仓库迁移

文章目录

    • 介绍
    • 使用场景
    • 可用命令
      • 单个迁移示例
      • 批量迁移
      • 自动创建gitea组织和仓库
    • 执行步骤
    • 新增特性
    • 支持的地址格式
    • 获取

介绍

这是一个go语言编写的命令行git迁移工具:git-transfer。
特点:

  • 快速迁移,保留完整branch和commits记录
  • 本地到远程批量迁移, 默认迁移本地分支。
  • 远程到远程批量迁移,默认迁移所有分支,并且本地clone备份。

使用场景

git仓库地址发生变化,origin地址需要换成新的,支持单个仓库迁移和批量迁移两种模式。

可用命令

  • git-transfer <新地址>- 单个仓库迁移,在项目目录下执行
  • git-transfer --yaml [配置文件]- 批量迁移(默认: transfer.yaml),任意路径执行
  • git-transfer --help- 显示帮助信息

单个迁移示例

git-transfer https://github.com/user/repo.git git-transfer git@github.com:user/repo.git

批量迁移

创建transfer.yaml配置文件:

projects:-name:"项目1"path:"./project1"old_origin:"https://old-server.com/user/project1.git"# 从old-origin克隆到本地path,然后推送new-originnew_origin:"https://github.com/user/project1.git"-name:"项目2"path:"./project2"new_origin:"https://github.com/user/project2.git"# 只写new_origin,从本地直接推送所有分支到new_origin

自动创建gitea组织和仓库

git-transfer --make-repo gitea --yaml z_hedong.yaml --username admin --password123456

然后执行批量迁移:

git-transfer --yaml my-config.yaml

执行步骤

  1. 环境检查

    • 检测本地是否安装git,无则输出"请配置git程序"
    • 检查当前目录是否为git仓库,无则输出"当前目录不是git仓库"
    • 验证新地址格式是否正确
  2. 备份当前配置

    • 获取并保存当前origin地址(用于出错时回滚)
    • 输出当前origin地址信息
  3. 更新远程地址

    • git remote remove origin- 删除现有的origin
    • git remote add origin 新地址- 添加新的origin地址
    • 验证新地址是否添加成功
  4. 推送代码

    • 先尝试git push --all推送所有分支
    • 如果推送失败,询问用户是否确认使用git push -f --all强制推送
    • 推送成功后输出确认信息
  5. 错误处理

    • 任何步骤失败时,尝试恢复原origin地址
    • 输出详细的错误信息和建议

新增特性

  • 命令行帮助---help显示所有可用命令和使用说明
  • 批量迁移---yaml支持从配置文件批量迁移多个项目
  • 实时进度条- 批量迁移时显示绿色进度条(第几个项目/总数)
  • 跨平台兼容- 兼容 cmd/powershell/bash/sh/zsh 等终端
  • 彩色输出- 使用颜色区分不同类型的信息
  • 详细日志- 每一步都有详细的日志输出
  • 安全回滚- 支持出错时自动回滚到原地址

支持的地址格式

  • http://github.com/user/repo.git
  • https://github.com/user/repo.git
  • git@github.com:user/repo.git
  • ssh://git@github.com/user/repo.git

获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 1:47:56

python基于Vue共享单车自行车租赁报修信息系统 234if_django Flask pycharm项目

目录已开发项目效果实现截图关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;已开发项目效果实现截图 同行可拿货,招校园代理 ,本人源头供货商 python基于Vue共享单车自行车租赁报修…

作者头像 李华
网站建设 2026/4/22 1:20:55

基于STM32的无线语音传输系统设计

基于STM32的无线语音传输系统设计 第一章 系统设计背景与需求分析 传统有线语音传输系统受限于物理线路&#xff0c;在移动场景中灵活性不足&#xff0c;难以满足智能家居、远程监控、便携式设备等场景的需求。无线语音传输凭借无束缚、部署便捷的优势&#xff0c;成为语音交互…

作者头像 李华
网站建设 2026/4/22 7:28:07

AI Agent开发到底怎么学

当大模型的基础能力逐渐普及时&#xff0c;我们清晰地看到&#xff1a;AI Agent&#xff08;智能体&#xff09;正成为决定AI应用成败的关键。从自动化客服到金融分析&#xff0c;从内容创作到企业决策&#xff0c;智能体已经展现出惊人的问题解决能力。它不再是那个被动回答问…

作者头像 李华
网站建设 2026/4/22 23:11:53

2025 最新!10个AI论文平台测评:本科生写论文救星推荐

2025 最新&#xff01;10个AI论文平台测评&#xff1a;本科生写论文救星推荐 2025年AI论文平台测评&#xff1a;如何选择适合你的写作助手 随着人工智能技术的不断进步&#xff0c;越来越多的本科生开始借助AI工具辅助论文写作。然而&#xff0c;面对市场上琳琅满目的平台&…

作者头像 李华
网站建设 2026/4/19 1:22:13

Miniconda-Python3.9环境下启用FP16加速推理

Miniconda-Python3.9环境下启用FP16加速推理 在深度学习模型日益庞大、部署场景日趋复杂的今天&#xff0c;一个常见的工程难题浮出水面&#xff1a;为什么同一个模型&#xff0c;在实验室里跑得流畅&#xff0c;到了生产环境却频繁显存溢出&#xff1f;为什么本地调试时延迟只…

作者头像 李华