李迎辉 2009年08月29日 星期六 18:23 | 3282次浏览 | 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 © 2024
京ICP备05028076号
回复 阮明辉 2011年03月16日 星期三 10:36