李迎辉

李迎辉的博客

他的个人主页  他的博客

用了一下GitHub及Git使用感受

李迎辉  2009年08月29日 星期六 18:23 | 3198次浏览 | 8条评论

在前阵子看过了刘磊大侠写的Git的使用指南,学到了关于Git的使用方法。不过一直没有真正用起来。在网上搜到在GitHub上支持fork,然后pull request。那么它的想法就是让用户创建自已的分支,然后进行修改,再通过pull request反馈给其它的开发者。它与提交patch的方式不同。使用patch还需要与某个分支合并,这样对用户的当前工作可能有影响,如果打上了补丁不想要的话还要恢复原来的版本,比如麻烦。而fork会创建新的分支,不会影响其它的用户。感觉这是一个很有特色的功能。于是我想试一试使用Git。

我平时是在Windows下工作,因此选中了TortoiseGit。但是使用它还需要使用msysgit。因此两个软件我都下载了。安装都没什么问题。

然后是把Uliweb想加入到GitHub中去。那么需要创建用户,GitHub还支持直接从svn的地址导入Git中去,这样直接把 code.google.com 的svn地址给它就可以了,很方便。

然后就是clone到本地。在GitHub可以看到有公共的和个人的。一个是git://一个是git@。在单位怎么试怎么不行,虽然TortoiseSVN是支持代理的,但是因为单位只支持Http代码,因此其它的端口是根本访问不了的。咨询了一下刘磊,结果是不提供象svn一样的Http方式。这样倒是符合了Git的分布式工作方式:可以在家里先下载好,然后上不了网的时候在本地修改,等能上网了再push。不过感觉对我的确不方便。因为我如果想下载代码而不是修改,不是也做不了了吗?

没办法,后来的测试都是回家做的了。

对于使用git@这种个人使用方式,Git需要认证。在刘磊及网上的说明中都是说要使用ssh认证。感觉的确有些麻烦,而且好象没有其它的方式,我不能确定。没办法搞吧。

先使用msysgit带的ssh-keygen生成公钥和私钥。发现在TortoiseGit中不知道怎么设。于是乎上网查,原来TortoiseGit有一个pageant的东西,在认证时要启动它才行。它可以装入私钥。于是装吧,但是发现使用msysgit生成的私钥不好使,装不进去,提示:

还有这样的事。然后我发现TortoiseGit的bin目录下有一个puttygen的程序。看来是要使用它才可以。生成没有什么问题,但是在GitHub上需要把你的公钥存上去,它是一段文本。如果你使用puttygen保存成公钥文件再打开,拷贝粘贴的话,恭喜你,失败了!为什么,原来,生成的文件的格式不被GitHub所识别,而是要把puttygen的窗口中的文本拷贝上去才可以。

 

把私钥保存好以后,在使用时,需要用pageant将私钥装进去,在认证时要启动后才可以使用。

就这样,终于配好了。

为了试验,我将mootools-more进行了fork,然后把我认为Fx.Slide.py中的一个问题给改了,然后pull request给了它的一个开发者,不过现在还没有反馈。我原来以为可以只fork一个文件或目录,原来是整个项目。现在想删除好象都不行了。

估计我平时还是会使用svn,git可能目前还只是试验,不会过多去用它。

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
阮明辉

回复 阮明辉  2011年03月16日 星期三 10:36

我在单位也上不了 估计是端口没有开放。

0条回复

张增波

回复 张增波  2009年08月31日 星期一 22:45

可以用Cygwin里的git。

0条回复

刘磊(V.L.)

回复 刘磊(V.L.)  2009年08月29日 星期六 22:38

1.“TortoiseGit有一个pageant的东西”,msysgit在安装的时候有一个选项,就是选择“SSH”的认证方式,如果选则OPENSSH,就不用pagent这个麻烦了。
2,删除项目吗?可以的,我删了几个。push request我没有用过,对项目删除是否有影响不清楚。不过肯定会遗留一些消息。
3.对于工作环境的问题,我有一个建议是使用U盘的方式。在公司进行开发库在U盘中存放,回家在同步到GIThub.这样U盘就是一个中间库:U盘的远端库是GitHub,公司的开发库的远端库是U盘。

0条回复

刘松

回复 刘松  2009年08月29日 星期六 21:17

建议刚使用时多备份
特别是tortoiseGit,感觉不如命令行里操作好使
在branch和master切换之间问题
是知道是不是操作的问
命令行下操作倒是切换得很溜

1条回复

  • 刘磊(V.L.)

    回复 刘磊(V.L.)  2009年08月29日 星期六 22:48

    的确,一般我都是使用msysgit自带的git gui与gitk,基本不用tortoiseGit。命令行的确很顺。

    0条回复

王单单

回复 王单单  2009年08月29日 星期六 19:42

没有服务器的话,可以考虑一下,不过我目前也还是用SVN

1条回复

  • 李迎辉

    回复 李迎辉  2009年08月29日 星期六 19:44

    我的开源项目都在网上,现在是使用code.google.com。而且git的代理在单位用不了。

    0条回复

夏武

回复 夏武  2009年08月29日 星期六 18:37

收藏,有空捣鼓一下

0条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号