最近项目组开始使用 Git 来作为源码管理。我今天就顺便把 Rafy 的源码也迁移到了 github 上,方便大家使用。这是项目的地址:,Git Clone 地址为:。
由于我个人也是第一次使用 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:
- 转换发布到 SourceForge 的 SVN 仓库到 GitHub.com
这种转换比较简单,GitHub 中有功能可以进行直接转换,祥见:。
转换本地 SVN 仓库到本地 Git 仓库这个转换比较复杂。过程中遇到的问题较多。
主要是因为git-svn只支持通过网络连接(svn:// 或 http://之类)的方式来转换,所以本地的仓库转换,是不能直接使用 file:/// 协议访问的,而是还得安装一个 SVN 服务端进行发布。这一步我是使用 VisualSVN 进行发布的。
发布完成后,使用 git svn clone 把所有内容复制下来。(这一步操作比较耗时)
复制完成后,需要修改 .git 文件夹中的 config 文件。把后面的两个 SVN 服务端配置节,修改为上图中的 Git 服务端配置节,然后设置正确的 Git 服务端地址。
最后,把整个本地记录全部 Push 到这个服务端中,就可以了。
完成后,这个 Git Repository 中就有了原来的所有历史记录了:
SVN 转换到 Git,参考以下文章:
《》
《》
《》
《》
《》
另外,下面是使用 Git 的帮助:
《》、《》。