git项目迁移,包括所有的提交记录和分支 gitlab迁移到gitblit

之前git都是全新项目上传,没有迁移过,因为迁移的话要考虑已有项目上的分支都要迁移过去,提交记录能迁移就好;分支如果按照全新项目上传的方式需要新git手动创建好老git已有分支,在手动一个一个克隆老项目分支代码依次提交、分支多了很麻烦!
通过查找git迁移资料发现git有迁移项目所有分支、和提交记录的方法,记录下以便下次使用。

我是从gitlab迁移到gitbit,不同类型的git迁移都适用。

1.新git下先创建好空项目

我这边新git是gitblit,直接web可视化窗口创建,创建时允许建立分支勾上、加入readme 、加入.gitignore文件不能勾上,创建后记录下新git 项目仓库地址

http://新git地址/pesgit/r/BSWHSS4.1/cytj.git

2.克隆旧git仓库下需要迁移的项目

临时新建一个文件夹,右键打开 git bash here 指令窗口

使用 --mirror 选项会克隆所有分支、标签和远程信息

bash 复制代码
git clone --mirror https://旧git地址/bs-whss/bs-whss4.1.git

克隆指令执行成功后会生成bs-whss4.1.git文件夹,结构如下

3.添加项目远程仓库为新git的项目仓库地址

继续在上面的指令窗口执行

bash 复制代码
# bs-whss4.1.git对应上面的git项目名称
cd bs-whss4.1.git
#然后,添加新git的项目仓库地址作为新的远程目标,这里的gitblit自定义命名,下面的指令会使用到
git remote add gitblit http://新git地址/pesgit/r/BSWHSS4.1/cytj.git

4.推送所有分支和标签到新git项目仓库

使用以下命令将所有分支和标签推送到新git项目仓库,依次执行以下命令

bash 复制代码
# 推送所有分支
git push gitblit --all
 # 推送所有标签
git push gitblit --tags
#强制推送
git push gitblit --all --force

5.验证迁移

5.1登录新的git仓库,查看项目迁移情况,查看分支是否完全,老git项目提交记录也迁移了

5.2 idea里重定向到新的git仓库地址,抽取两个分支随意提交文件测试能否提交成功

验证提交成功

相关推荐
福如意如我心意14 小时前
git清除仓库敏感文件并同步至远端的操作
git
Brilliantwxx17 小时前
【Linux】 开发|Git 版本控制与 gdb/cgdb 调试
linux·笔记·git
.Hypocritical.2 天前
Git 全套实操|配置 /.gitignore/ 分支合并 / 冲突解决 /git stash 完整教程
git
来日方长。。。。long2 天前
Hermes Agent橙皮书共读|第三篇:保姆级实战部署|本地/VPS从零搭建Hermes
ide·git·hermes
其实防守也摸鱼2 天前
VS Code Git 工作树:解锁多分支并行开发新体验
数据库·git·安全·oracle·架构·自动化
ERD Online2 天前
我们怎么设计 good first issue:让第一个 PR 两小时内合入
数据库·git·后端·开源·issue
Python私教2 天前
Codex 自动写 Commit 够安全吗?一套证据化 Git 提交流程
人工智能·git·后端
果果燕2 天前
实习笔记(一):NFS、Samba、VNC、Git、CMake、systemd、内核、交叉编译
linux·arm开发·c++·笔记·git
美味蛋炒饭.2 天前
Git 版本控制(下)
开发语言·git·学习·总结·后端开发
互联网中的一颗神经元2 天前
09 — .git 地图:打开那个隐藏文件夹
大数据·git·elasticsearch