首页 > 代码库 > 发布 Rafy 源码到 GitHub

发布 Rafy 源码到 GitHub

技术分享

 

最近项目组开始使用 Git 来作为源码管理。我今天就顺便把 Rafy 的源码也迁移到了 github 上,方便大家使用。这是项目的地址:https://github.com/zgynhqf/rafy,Git Clone 地址为:https://github.com/zgynhqf/Rafy.git。

由于我个人也是第一次使用 Git 来做源码管理。本文主要是记录一下过程,及遇到的问题。

 

  • 在 VS 中如何使用 Git

在 VisualStudio 2013 中使用 Git 有两种方法:

一种方法是安装并使用扩展“Git Source Control Provider”。试用了一下,发现按钮并不齐全,许多功能都是放在 TortoiseGit 下拉列表中,非常不易用:

技术分享

另外一个方法是使用内置的 Microsoft Git Provider。这种方法的界面跟 TFS 是一样的,使用 Team Explorer 来操作,不符合我原来用 AknSVN 的习惯,不过功能非常齐全,Commit、Push 等都有。最终还是选择了这个:

技术分享技术分享

 

 

  • 在 Git 如何变换 Repository 的位置

当服务端 Repository 的地址变换时,在 SVN 中有 Relocate 命令可以直接使用。但是在 Git 中却没有这个命令。在 TortoiseGit 中,完成这个任务需要打开 Settings,修改以下配置:

技术分享

 

  • 将 SVN 仓库转换到 Git 仓库

原来用的源码管理都是 SVN,这次转换到 Git,希望能够直接把 SVN 进行升级,这样就不会丢失历史的提交记录。而我需要转换两种类型的 SVN 仓库到 Git:

  1. 转换发布到 SourceForge 的 SVN 仓库到 GitHub.com
  2. 这种转换比较简单,GitHub 中有功能可以进行直接转换,祥见:https://help.github.com/articles/importing-from-subversion/。

  3. 转换本地 SVN 仓库到本地 Git 仓库
  4. 这个转换比较复杂。过程中遇到的问题较多。

    主要是因为git-svn只支持通过网络连接(svn:// 或 http://之类)的方式来转换,所以本地的仓库转换,是不能直接使用 file:/// 协议访问的,而是还得安装一个 SVN 服务端进行发布。这一步我是使用 VisualSVN 进行发布的。

    发布完成后,使用 git svn clone 把所有内容复制下来。(这一步操作比较耗时)

    复制完成后,需要修改 .git 文件夹中的 config 文件。把后面的两个 SVN 服务端配置节,修改为上图中的 Git 服务端配置节,然后设置正确的 Git 服务端地址。

    最后,把整个本地记录全部 Push 到这个服务端中,就可以了。

    完成后,这个 Git Repository 中就有了原来的所有历史记录了:

技术分享

 

SVN 转换到 Git,参考以下文章:

《svn转换到git》

《版本库转换:hg->git->svn->git》

《SVN迁移到Git的过程(+ 一些技巧)》

《如何将 SVN 仓库转换为 Git 仓库》

《How to Convert Subversion Repo to Git》

 

另外,下面是使用 Git 的帮助:

《Git/SVN 常用命令》、《GitHub 帮助 - HelloWorld》。

发布 Rafy 源码到 GitHub