为了实现公司开发平台、个人电脑Windows平台、个人电脑Linux平台、国外买的云服务器、即将咬购买的阿里云的云服务器之间的代码同步和快速部署,进行了一些简单的技术选型,首先考虑的是rsync,发现安装非常麻烦,然后考虑了一个商业软件,安装亦不顺,最终决定还是走最成熟的代码仓库平台,svn和git都是不错的选择,但是考虑到两点,抛弃了svn:
svn在每个目录下都有.svn文件夹,内容太多,复制过程中、grep过程中都可能带来麻烦
svn要起后台服务,十分不便
于是乎,git成了不二选择:
git的每个repo都只有一个.git文件夹,不污染源码
git可以不启后端服务(但是用户必须使用ssh模式连接git“服务器”)
下面记录创建git服务器的过程:
选择root服务器
首先选择一个root服务器,它必须满足2个要求:1. 不停机 2. 所有平台都能连接。于是只能用国外的云服务器作为root服务器了。因为公司开发平台只能连接外网,外网却连不上它,个人电脑不满足不停机的要求。
创建repository(在root服务器上)
登录root服务器,用root帐号创建一个用户raywill,
su raywill
cd /home/raywill
mkdir repository
cd /home/raywill/repository/
git config --global user.name "raywill"
git config --global user.email “hustos@qq.com"
从此以后所有源码的root都在/home/root/repository目录下了。
创建第一个项目(在root服务器上)
一个repository下面可以有多个git项目,git命令的操作目标是单个的项目。例如淘宝有oceanbase和tair两个项目,他们可能的目录结构为:
/home/raywill/repository/oceanbase
/home/raywill/repository/tair
下面创建我们的第一个项目yiker
git init --bare yiker
执行该命令成功后/home/raywill/repository/下生成了一个yiker目录,该目录里面只有一个.git文件夹。