首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

从sourceforge迁徙到github

2012-11-13 
从sourceforge迁移到github现在最火的版本控制软件是什么,当然是git。git大有取代svn之势,就像svn当前取代c

从sourceforge迁移到github

现在最火的版本控制软件是什么,当然是git。git大有取代svn之势,就像svn当前取代cvs一样。作为老牌代码托管网站sourceforge面临github的竞争,也不得不调整战略,在原先的基础上增加了git和Mercurial 等软件的支持,但是却没有github或者bitbucket那样提供fork和pull request功能。要知道对于一个开源作品来说fork可以方便的将源码备份到自己的账号所辖版本库中,而pull request功能方便将自己的代码更改提交给原作者,待原作者审核通过后,自己就为开源项目的发展贡献了一份绵薄之力。但是,sourceforge一直固执于自己的模式,不愿意添加这两项功能,这对于在sourceforge上开源源码的人就只能干看着别人使用github的便捷功能吗?

答案当然是否定的,git提供了由svn转化为git的功能。而且转化出来的版本库还带有之前svn的更新日志!废话少说,举个例子。

1.安装git bash

要想在windows下使用git,需要安装Git Bash,下载地址:http://code.google.com/p/msysgit/downloads/detail?name=Git-1.7.11-preview20120710.exe&can=2&q= 。

从sourceforge迁徙到github

图1.1

安装的时候,将git bash添加到右键菜单。

从sourceforge迁徙到github

图1.2

将git命令添加到系统的环境变量中。

从sourceforge迁徙到github

图1.3

这个地方选择第三项。

从sourceforge迁徙到github安装成功后在桌面上看到这个快捷方式,双击打开,就你能看到git的命令行模式。不过由于刚才讲git添加到右键菜单了,你可以直接在文件夹上右击。

2.svn到git迁移

新建一个文件夹,在其上右击,然后选择git bash,输入如下命令:

git svn clone https://yunnysunny.svn.sourceforge.net/svnroot/array2xml/ array2xml

会给出如下提示:

从sourceforge迁徙到github

图2.1

在提示是否信任证书时,输入p即可。

这时候,我们就在刚才新建的文件夹下生成了一个array2xml的文件夹。里面就是git版本库,并且含有所有当初在svn上提交的版本和日志记录。

3.github账号创建

去github(https://github.com/signup/free)上注册一个账号,注册完成后最后进入注册用的邮箱中进行激活。然后点击账号设置,从sourceforge迁徙到github,进入github后台。在后台左侧菜单中有一个ssh key选项,如下图所示:

从sourceforge迁徙到github

图5

这个地方其实是要输入公钥信息,在刚才打开的命令行中输入如下命令:

ssh-keygen -t rsa -C "xxx@gmail.com"

其中xxx@gmail.com是你注册时用的用户名。其中会要求你输入密码。

从sourceforge迁徙到github

图3.1

打开C:\Users\sunny\.ssh\id_rsa.pub,全选复制器文件内容,在图5所示的菜单中,点击SSH Keys输入key的内容
从sourceforge迁徙到github
图3.2
在进行文件操作之前,先设置一下git的全局信息,这个对于提交到github上的源码很管用,它会在提交信息上直接产生你git主页的连接。
从sourceforge迁徙到github
图3.3
这个命令只在初次安装git的时候设置一遍,就可以了。
4.git上传到github
点击按钮从sourceforge迁徙到github,在github上创建一个仓库。创建完成后,会给出git仓库地址:从sourceforge迁徙到github
从sourceforge迁徙到github
图4.1
在刚才的命令行窗口中,cd到array2xml目录,输入如下命令:
 git remote add upstream https://github.com/yunnysunny/array2xml.git
从sourceforge迁徙到github从sourceforge迁徙到github
图4.2
其中upstream是我们给远程仓库起的别名。
接着运行:
git pull upstream master
将远程仓库的文件改动下载到本地
从sourceforge迁徙到github从sourceforge迁徙到github
图4.3
最后运行
git push upstream
将本地的改动更新到远程仓库
从sourceforge迁徙到github从sourceforge迁徙到github
图4.4
这时候去地址https://github.com/yunnysunny/array2xml 上看,刚才的文件已经更新上去了。
从sourceforge迁徙到github从sourceforge迁徙到github
图4.5
5.git文件操作
当你修改了文件之后,运行git status命令来查看当前改动的文件。
从sourceforge迁徙到github从sourceforge迁徙到github
图5.1
如上图所示,修改了一个文件,增加了两个文件。接下来演示一下将test.php的改动添加到本地版本库:
从sourceforge迁徙到github
从sourceforge迁徙到github
图5.2
如上图所示,分别运行git add test.php 和 git commit -m “你的注释信息”,就能将更改提交到本地。接着运行图11的命令,就可将本地的更改更新到远程的仓库中。

热点排行