2011年12月24日星期六

git初体验

git是linus设计的一个分布式代码管理软件,被他自己成为The stupid content tracker, 傻瓜内容跟踪器。这周简单学习了git的基本概念和一些基本命令,与svn有很大不同,这里总结一下。

1、git与svn的服务器客户端模型不同,git的服务器和客户端内容是完全相同的,用户完全可以在本地修改,提交,但如果需要多人合作开发时,需要将自己的本地镜像提交到服务器,相当于把本地的代码、提交记录拷贝到服务器。

2、git客户端和服务器的通信不直接使用用户名密码,而使用密钥、公钥进行加密通信。


3、git可以很方便的建立分支,这是我觉得非常有意思的功能,在svn上建立一个分支需要svn管理员配合,我如果想在本地做多个修改测试,不实用分支的就需要做多个拷贝。git上我可以建立一个分支,在分支上做开发提交,如果可以就把分支上的代码合并到主干,如果不可以就可以直接删除分支,十分方便。

4、不需要联网就可以提交代码,使用svn的时候我有时候在家里修改代码,必须等到第二天到公司才能提交,有时候就忘记了自己都做了那些修改,commit msg该如何写。用git可以随时提交,到公司同步即可。

5、git本地未commit有staged、unstaged两个状态,staged表示下一次要commit的修改。


上面3、4两个特性是我最喜欢的特性,我在github上注册了账号,我想做一些社会化的开发,第一步就从学习git开始,继续体验使用git,学习一下git的基本原理。github推荐了git pro书,书籍blog上画的git状态图十分清晰明了。打算先用git命令行工作一个月,再去使用github的mac下的GUI客户端。

2011年12月17日星期六

总结2011,展望2012

2012年有很多想做的事:
走出去,看看外面的世界。
学一门新语言,从python开始
业余参与github的项目,能够提交万行代码。