git本身不会管理一个空的目录,不知道大家通用的方法是什么,我以前都是在这空目录下加一个文件比如 .dir 然后在.gitignore里加入
/目录/*
!/目录/.dir
今天又想到了一个方法好像更方便一点,就是另外准备一个 .gitignore 文件,里面内容为:
/*
!/.gitignore
然后把这个文件复制到那些需要忽略所有文件,但又要把本身加入到版本库中的目录里就行了。
gitweb本身是一个perl写的cgi脚本,我把他嵌入到django中的主要目的就是可以实现一些定制,比如可以在views里做到权限控制,定制输出等。
主要是用python的subprocess去调用执行这个cgi,然后得到输出后,处理一下后用django的HttpResponse输出网页内容。哈哈 说起来一开始还不怎么会调用,然后居然去看了python的CGIHTTPServer的源代码,照着抄了一些才搞成功。
更新(2011-04-07): 终于开始写安装说明文档了 https://github.com/harryxu/gitube/wiki/%E5%AE%89%E8%A3%85%E8%AF%B4%E6%98%8E
git是一个非常不错的版本控制软件,如果需要一个可以远程push代码的地方,开源软件可以选择像github这样的网站,如果是自己的私有代码,也可用利用一台比如linux的服务器,几乎不用什么配置,只需要支持ssh就能往上面push代码。
但是如果是一个小型团队,可能就要涉及到一些权限的控制,还有考虑版本库建立还有查看的易用性。
之前我用过gitosis,这是个不错的git管理工具,有基本的权限控制,不过所有的操作都是需要登录到服务器后使用命令行进行,对于一个人的东西当然没什么问题,但是如果这个服务器服务于多人,那么其他人想建立一个仓库的时候就必需联系管理员或自己登录上去操作,这样对命令行不熟悉的人不太方便,如果可以像github那样通过web界面来操作的话那就很方便了。
于是我就基于django框架写了一个小小的应用,可以通过web界面来建立git仓库,并且有一些很简陋的权限设置。
如果想要在git push后自动通知团队中的其他成员,可以利用git的hook脚本,git源代码里 contrib/hooks/post-receive-email 就可以直接用来发送邮件通知。
如果觉得邮件还不够即时,可以试试利用gae发送通知到gtalk上,google提供了很方便的api,可以通过部署在gae上的程序发送xmpp协议的即时消息。
我无聊写了个这样的小程序,放在github上了,用的是Python版的GAE SDK。
使用方法:
下载后,先把gae目录中的程序部署到gae上,然后可以访问 domain/sendim/invite 向所需通知的用户发一个邀请,然后可以访问 domain/sendim/demo 测试下消息是否能够正常发送。
首先下载安装msysgit。关于 msysgit,推荐看下github上的安装说明,写的更详细。
安装过程一般使用默认选项即可。不过如果团队中可能有使用Linux unix等非windows系统的话,最好选择 Use unix style line endings

msysgit装完就能用命令行的方式玩git了,如果需要一个类似乌龟svn的GUI工具,可以装下 tortoisegit。
现在基本就能在本地玩git了。