求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
 
   
分享到
Windows下使用GitHub
 
作者 BlueCloudMatrix ,火龙果软件    发布于 2014-05-08
 

GitHub是一个很不错的代码管理工具。我们修改完代码,只需几条命令,便能同步到github,这样partner便会将它clone到自己机子上。省了用U盘或qq、ftp的传输,非常适合团队开发。而且支持OpenSource。

这里通过演示一个项目(NITIAN-W)的开发来详细介绍一下windows下如何使用git。

1)创建github账户

登录https://github.com,只需用户名、注册邮箱和登录密码便能注册一个属于自己的github(之后需要到注册邮箱中进行确认,非常喜欢这种注册方式,简单而且安全)。之后便能通过github.com/用户名 的URL进行访问。

2)安装github windows客户端

客户端下载地址:https://windows.github.com/

安装后便会得到两个应用:

3)创建repository(仓库)

其实创建仓库,可以通过网页版github进行,不过这里通过上图的客户端GitHub进行创建。

登录后,点击create创建仓库。

仓库名一般和你的工程名一样(这样不会混淆),主要是选择你的工程目录。点击create后,便成功创建仓库,这时网页版github便会同步显示(但内容为空)。之后要将工程内容同步到网页版github上:

在客户端中打开刚创建的仓库,可以看到工程中的源码,这时在左侧的summary栏中随便写,之后点击下面的Commit to master:

点击右上角的publish,便将源码同步到了网页版github上(如下):

4)Git Shell操作

然后打开Git Shell,输入以下命令获得密钥:

ssh-keygen -C 'github的注册邮箱' -t rsa

一直回车后,根据提示的密钥生成目录找到id_rsa.pub文件,将其中的内容(公共密钥)注册到网页版github上:

点击框住的按钮,进行账户设置

打开SSH keys

点击Add SSH key

然后在title栏中随便输入,将密钥复制到key栏。

之后Git Shell中输入以下命令进行验证是否获得权限:

ssh -T git@github.com

应该出现:

Yes,我们可以通过shell来操作了。

5)同步工程

接下来我们在eclipse中修改了源码,但此时github并没有同步,通过Github客户端进行同步:

在Local栏中选中NITIAN-W这个仓库,点击框住的按钮

这是右边出现的文件就是我们修改过的,在左侧填上NITIAN-W(随便),然后点击下面的Commit to master

点击sync,进行同步

稍后,修改过的工程便同步到了github上。GitHub客户端中的History便记录着我们的每一次修改,类似版本迭代,可以进行回顾。

这样,每当我们修改完工程,只需打开客户端执行三步便能完成同步。那我们如何上传一些文件(项目文档和视频)到这个仓库中?

6)利用Git Shell上传文件

我们也可以用上面同步代码的方法,用客户端进行上传——将文档放在NITIAN-W的eclipse工程目录中(我们已经将NITIAN-W的eclipse工程目录与github中对应的仓库绑定了),然后同步。不过这里我们采用Git Shell的方式。

首先将github中的NITIAN-W仓库clone到本地

这时在当前目录下会出现NITIAN-W的工程目录,将项目API放在该目录中

在Shell中执行如下(注意:shell的目录要切到NTIAN-W中)

如果遇到git remote add出错,则如下执行:

另外,如果遇到git push NITIAN-W master出错:

error:failed to push som refs to.......

则执行如下语句:

git pull NITIAN-W master

先将远程服务器github上的文件拉下来,再push上去(之后再执行git push NITIAN-W master)。

这样便上传成功

7)实时更新clone到的工程

还有一个问题,如果我们是clone别人的github上的仓库,那如何获取最新的版本?这种情形是我将修改的工程同步到了github上,我的队友此前已经clone了一份NITIAN-W工程到他自己的机子上,这是他需要更新的版本,那么如下执行:

这样他便拿到最新版本的工程,他可以为它添加文档,再上传到github上。

8)总结:

接着7),我的队友拿到新的工程,他将它部署到eclipse中,进行再次修改(实际上这个工程只包含文档和源码,在eclipse导入源码后需要在src上Build Path-->use as source folder才能正确执行)。等他修改完后,用新的工程替换旧的工程,push到我的github上,这样我也能获得最新的工程。只不过他的更新和同步上传全都通过Git Shell进行,并伴随文件的移动,而我的更新和同步上传只需通过客户端的GitHub进行。也许这不是最省事的开发模式,但对于入门和上手很实用。

最后一起去阿里巴巴的github玩一玩:

git clone https://github.com/alibaba/ali-kernel

于是我们把阿里云OS的kernel下载下来了,能去给它添加文件test.txt(里面有料)并同步到阿里的github吗?

然而

这是没有权限的问题,这需要阿里接受我们成为它的collaborator或team members才行。最后介绍一下如何添加collaborator,毕竟上面的一切需要我们将队友纳入collaborator。

点击Github(网页版)上的Repositories,进入要共享的文件NITIAN-W

点击右侧的Settings

再点击Collaborator

在右侧的方框中输入队友的github账号,然后Add collaborator即可

相关文章

每日构建解决方案
如何制定有效的配置管理流程
配置管理主要活动及实现方法
构建管理入门
相关文档

配置管理流程
配置管理白皮书
CM09_C配置管理标准
使用SVN进行版本控制
相关课程

配置管理实践
配置管理方法、工具与应用
多层次集成配置管理
产品发布管理
 
分享到
 
 
   


软件配置管理的问题、目的
软件配置管理规范
CQWeb 7.1性能测试与调优指南
为什么需要使用ClearCase
ClearCase与RTC的集成
利用ClearQuest 进行测试管理
更多...   


产品发布管理
配置管理方法、实践、工具
多层次集成配置管理
使用CC与CQ进行项目实践
CVS与配置管理
Subversion管理员


配置管理实践(从组织级到项目级)
通号院 配置管理规范与应用
配置管理日构建及持续集成
丹佛斯 ClearCase与配置管理
中国移动 软件配置管理
中国银行 软件配置管理
天津华翼蓝天科技 配置管理与Pvcs