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项目迁移-保留分支和提交记录的主要内容,如果未能解决你的问题,请参考以下文章
SVN到Git的一键迁移脚本(保留所有分支、Tag及提交记录)