Git项目迁移-保留分支和提交记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git项目迁移-保留分支和提交记录相关的知识,希望对你有一定的参考价值。

参考技术A 闲话少说,直接来过程

1.克隆原有仓库下的项目

git clone old.git(旧git仓库地址)

你也可以单独克隆某个分支

git clone -b dev old.git

2.创建新的项目的仓库地址

3.进入旧项目的地址,比如clone下的目录为test

cd test

将旧项目的地址替换为新的

git remote set-url --push origin new.git (new.git 为新项目的git地址)

4.将镜像推送到远程

git push --mirror

补充:

假如是一个单独分支dev,新的项目下的dev可以看到原有旧项目的提交记录,如果想合并到master,使用如下命令:

git checkout master

git merge dev

删除分支: https://mp.csdn.net/postedit/86161616

修改分支: https://mp.csdn.net/postedit/86161351

SVN到Git的一键迁移脚本(保留所有分支、Tag及提交记录)

参考技术A

注意:
1、由于用到grep、sort、awk,因此在Windows环境中需要在bash中运行,如果没有的话先安装Git即可;
2、需要安装svn的命令号工具,如果没有的话需要安装下:

在SVN中,每一个人提交时都需要在系统中有一个用户,它会被记录在提交信息内。如果想要将SVN用户映射到一个更好的Git作者数据中,你需要一个SVN用户到Git用户的映射。参考《 一键获取所有SVN提交作者用户名的列表 》获取所有SVN提交作者,参考下面的格式建立authors.txt文件:

保存到与authors.txt同一目录,并且修改里面的SVN地址。

在终端下(windows在bash下),切换到 svn2git.sh 所在的目录,执行: sh ./svn2git.sh 。 执行需要比较久的时间,需要耐心等待 ^o^ 。转换完成后,转换结果在当前目录下的svn2git。

参考:
http://www.meilongkui.com/archives/1965

以上是关于Git项目迁移-保留分支和提交记录的主要内容,如果未能解决你的问题,请参考以下文章

只需3步完成,git迁移仓库地址,保留分支和历史记录

利用gitrepo无缝迁移git项目

SVN到Git的一键迁移脚本(保留所有分支、Tag及提交记录)

Git保留提交记录的迁移

本地 gitlab 项目迁移到阿里云(含历史提交记录一起迁移)

SVN迁移Gitlab步骤