最近项目组开始使用 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的更多相关文章

  1. 发布VS源码

    发布VS源码步奏 先将Web.config设置修改一下   IP设置成点    文件名称设置成文件夹的名称,右键点击项目,点发布   勾选删除现有文件,点击发布 打开文件加  将文件解压成压缩包, 打 ...

  2. 还怕问源码?Github上神级Android三方源码解析手册,已有7.6 KStar

    或许对于许多Android开发者来说,所谓的Android工程师的工作"不过就是用XML实现设计师的美术图,用JSON解析服务器的数据,再把数据显示到界面上"就好了,源码什么的,看 ...

  3. Spring 源码从github导入源码到idea2016

    步骤 安装git或者github客户端 java环境JDK安装(必须是1.8) gradle下载安装(选择的最新版3.1) git clone github上spring源码 import导入proj ...

  4. 基于tensorflow的‘端到端’的字符型验证码识别源码整理(github源码分享)

    基于tensorflow的‘端到端’的字符型验证码识别 1   Abstract 验证码(CAPTCHA)的诞生本身是为了自动区分 自然人 和 机器人 的一套公开方法, 但是近几年的人工智能技术的发展 ...

  5. 基于python语言的tensorflow的‘端到端’的字符型验证码识别源码整理(github源码分享)

    基于python语言的tensorflow的‘端到端’的字符型验证码识别 1   Abstract 验证码(CAPTCHA)的诞生本身是为了自动区分 自然人 和 机器人 的一套公开方法, 但是近几年的 ...

  6. 使用pjsip传输已经编码的视频,源码在github

    pjsip功能很强,做sip rtp语音通话库首选.在2.0之后,也支持视频.不过,它的视频功能缺省是从视频设备采集,然后进行编译,再发送出去的.假设,我们已经有了视频源,比如IP摄像机,不需要采集和 ...

  7. QuartzNet 远程管理持久化job 项目, 源码在Github..希望对大家有所帮助

    文章目录 为了方便大家去学习 QuartzNet 与 CrystalQuartz 更多信息请点击链接查看 简介 结构图 为了方便大家去学习 QuartzNet 与 CrystalQuartz 更多信息 ...

  8. C# 使用大漠插件, 源码在Github和码云 ..希望对大家有所帮助

    c# 使用大漠插件. 完成 类似 按键精灵的 功能. 方法 注释 正在慢慢的 完善中 目录 仓库 github 码云 准备 效果图 如何运行 1. 注册 大漠dll 到com (资源在 源码 DLL ...

  9. 技术干货 | 源码解析 Github 上 14.1k Star 的 RocketMQ

    前言 Apache RocketMQ 作为广为人知的开源消息中间件,诞生于阿里巴巴,于 2016 年捐赠给了 Apache.从 RocketMQ 4.0 到如今最新的 v4.7.1,不论是在阿里巴巴内 ...

随机推荐

  1. 浅谈Excel开发:十一 针对64位Excel的插件的开发和部署

    自Office 2010版本开始有了32位和64位之分,对Excel来说,32位的Excel和64位的Excel在性能上的主要区别是64位的Excel能够处理2G及2G以上的大数据集. 随着64位操作 ...

  2. TCP状态

    TCP状态 TCP连接中包含不同的状态,如何通过状态来判断程序问题尤为重要. 三次握手 图中的connection部分为三次握手. 四次握手 图中的close部分为四次握手. CLOSE_WAIT 服 ...

  3. C语言 · 查找整数

    问题描述 给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个. 输入格式 第一行包含一个整数n. 第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000. 第三行包含一个 ...

  4. Atitit  补充说明 sql知识图谱与线路图attilax总结补充说明

    Atitit  补充说明 sql知识图谱与线路图attilax总结补充说明 1. 常见编程语言的分类  :命令式语言.函数式语言.逻辑语言1 1.1. 按照编程语言的代际划分,又2gl,3gl,4gl ...

  5. android/java 根据当前时间判断股票交易状态(未开盘 交易中 休市中 已收盘)

    /** * @param data yyyy-MM-dd HH:mm:ss 时间 * @return 未开盘 交易中 休市中 已收盘 */ public static String getSotckS ...

  6. PHP SESSION机制,从存储到读取

    PHP中,如果要获取SESSION数据,必须要有对应的session_id,session_id的获取方式有两种 1.基于客户端的cookie 2.基于url 先说第一种情况,基于客户端的cookie ...

  7. MongoDB replica set IDs do not match

    在搭建MongoDB(版本 3.2.9)的Replica Set时,使用 rs.status() 查看Replica Set的状态,发现一个成员异常:replica set IDs do not ma ...

  8. SSIS 参数的值

    一,SSIS Parameter Value 的type 一个Parameter的Value共有三种类型,分别是Design Value,Server Value,Execution Value. D ...

  9. webpack + vuejs 基本配置(一)

    开始之前 本文包含以下技术,文中尽量给与详细的描述,并且附上参考链接,读者可以深入学习: 1.webpack2.Vue.js3.npm4.nodejs —- 这个就不给连接了,因为上面的连接都是在你实 ...

  10. LINQ系列:LINQ to ADO.NET概述

    LINQ to ADO.NET 包括两种独立的技术: LINQ to DataSet 和 LINQ to SQL. 使用 LINQ to DataSet 可以对DataSet 执行丰富而优化的查询,而 ...