Git学习文档之二 应用总结-svn迁移到git
来源:互联网 发布:c语言解惑刘振安pd 编辑:程序博客网 时间:2024/06/06 00:19
svn迁移到git
在 Subversion,每个提交者在都在主机上有一个用户名,记录在提交信息中。如果想让这条信息更好的映射到 Git 作者数据里,则需要 从 Subversion 用户名到 Git 作者的一个映射关系。建立一个叫做 user.txt 的文件,用如下格式表示映射关系:
schacon = Scott Chacon <schacon@geemail.com>selse = Someo Nelse <selse@geemail.com>
通过该命令可以获得 SVN 作者的列表:
$ svn log --xml | grep -P "^<author" | sort -u | \perl -pe 's/<author>(.*?)<\/author>/$1 = /' > users.txt
它将输出 XML 格式的日志——你可以找到作者,建立一个单独的列表,然后从 XML 中抽取出需要的信息。(显而易见,本方法要求主机上安装了grep,sort 和 perl.)然后把输出重定向到 user.txt 文件,然后就可以在每一项的后面添加相应的 Git 用户数据。
为 git svn 提供该文件可以然它更精确的映射作者数据。你还可以在 clone 或者 init后面添加 –no-metadata 来阻止 git svn 包含那些 Subversion 的附加信息。这样 import 命令就变成了:
$ git-svn clone http://my-project.googlecode.com/svn/ \--authors-file=users.txt --no-metadata -s my_project
导入之后,你还需要一点 post-import(导入后) 清理工作。最起码的,应该清理一下 git svn 创建的那些怪异的索引结构。首先要移动标签,把它们从奇怪的远程分支变成实际的标签,然后把剩下的分支移动到本地。
要把标签变成合适的 Git 标签,运行
$ cp -Rf .git/refs/remotes/tags/* .git/refs/tags/$ rm -Rf .git/refs/remotes/tags
该命令将原本以 tag/ 开头的远程分支的索引变成真正的(轻巧的)标签。
接下来,把 refs/remotes 下面剩下的索引变成本地分支:
$ cp -Rf .git/refs/remotes/* .git/refs/heads/$ rm -Rf .git/refs/remotes
现在所有的旧分支都变成真正的 Git 分支,所有的旧标签也变成真正的 Git 标签。最后一项工作就是把新建的 Git 服务器添加为远程服务器并且向它推送。下面是新增远程服务器的例子:
$ git remote add origin git@my-git-server:myrepository.git
为了让所有的分支和标签都得到上传,我们使用这条命令:
$ git push origin --all
所有的分支和标签现在都应该整齐干净的躺在新的 Git 服务器里了。
- Git学习文档之二 应用总结-svn迁移到git
- Git学习文档之二 应用总结-参考
- SVN 迁移到 Git
- svn迁移到Git
- SVN 迁移到GIT
- SVN迁移到git
- svn迁移到git
- 从SVN到GIT迁移
- 从SVN迁移到GIT
- svn迁移到git实践
- svn迁移到git实践
- 从 SVN 迁移到 Git
- SVN到Git的迁移
- 本地svn迁移到git
- SVN如何迁移到Git?
- SVN如何迁移到Git?
- git-svn svn 迁移git
- git学习------>从SVN迁移到Git之后,项目开发代码继续在SVN提交,如何同步迁移之后继续在SVN提交的代码到Git?
- CSS深入理解vertical-align和line-height的关系
- jquery Ajax响应前和完成事件
- 图片自适应
- android studio library 引用aar
- nrm(npm加速)、nvmw切换node版本
- Git学习文档之二 应用总结-svn迁移到git
- U
- linux下find(文件查找)命令的用法总结
- Haar分类器 = Haar特征 + 积分图方法 + AdaBoost +级联强分类器
- CSS3 animation详细讲解
- 剑指offer39:二叉树的深度
- 非运营商定制项目如何客制化自己的开关机动画、开关机铃声
- opencv基础之滤波
- 点击listview或Xlistview、GridView条目的详情页显示