svn迁移git
文章目录
本文主要介绍如何把项目从svn迁移到git。
迁移
不保留历史记录
如果不需要保留历史记录,那么只要svn checkout干净版本后推送到git仓库即可。
|
|
保留历史记录
|
|
如果svn仓库是标准布局可以使用 -s
或者 --stdlayout
参数。
svn仓库不是标准布局,则需要用到 -T
, -b
, -t
参数。
另外如果只是迁移,建议加上 --no-metadata
参数。
|
|
通过 git log
查看提交者信息,如果不对则参考 FAQ 处理。
后续就是推送到git仓库即可:
|
|
FAQ
-
svn external怎么处理?
转化为git submodule处理:1 2 3
git submodule add 外部git仓库 当前仓库内相对路径 # 注意带--recursive参数才能把submodule代码一并拉取 git clone --recursive git仓库路径
-
提交者的信息不对怎么处理?
git svn clone时通过--authors-prog
参数指定转换脚本。示例脚本如下:1 2 3
#!/bin/sh echo "$1 <$1@example.com>"