Windows下使用GitHub

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/

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

Windows下使用GitHub


3)创建repository(仓库)

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

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

Windows下使用GitHub

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

Windows下使用GitHub

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

Windows下使用GitHub

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

Windows下使用GitHub


4)Git Shell操作

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

ssh-****** -C 'github的注册邮箱' -t rsa
一直回车后,根据提示的**生成目录找到id_rsa.pub文件,将其中的内容(公共**)注册到网页版github上:

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

Windows下使用GitHub

打开SSH keys


Windows下使用GitHub

点击Add SSH key

Windows下使用GitHub

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

Windows下使用GitHub

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

ssh -T [email protected]
应该出现:

Windows下使用GitHub

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


5)同步工程

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

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

Windows下使用GitHub

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

Windows下使用GitHub

点击sync,进行同步


Windows下使用GitHub

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

Windows下使用GitHub

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


6)利用Git Shell上传文件

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

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

Windows下使用GitHub

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

Windows下使用GitHub

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

Windows下使用GitHub

Windows下使用GitHub

Windows下使用GitHub

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

Windows下使用GitHub

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

  error:failed to push som refs to.......
则执行如下语句:

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

这样便上传成功

Windows下使用GitHub


7)实时更新clone到的工程

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

Windows下使用GitHub

这样他便拿到最新版本的工程,他可以为它添加文档,再上传到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吗?

Windows下使用GitHub

然而

Windows下使用GitHub

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

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

Windows下使用GitHub

点击右侧的Settings

Windows下使用GitHub

再点击Collaborator

Windows下使用GitHub

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

Windows下使用GitHub