ubuntu中git服务器的架设

    其实严格意义上来讲,在git中是不存在所谓的服务器的,本来就是个分布式的架构,谁都可以是服务器,也都可以是客户端,而这也正是git和其他版本控制软件如SVN所不同的地方,但是在做开发的时候,我们依然希望有一台专门的机器,让大家把代码都同步到这台机器上去,所以就认为这台机器为服务器,所以本文所说的服务器,其实也就是客户端的建立,外加上一个git web,方便大家直接在浏览器里观看。

安装git软件

    apt-get install git-core     所依赖的其他库就交给ubuntu自己去解决吧,这句就足够了。

git服务器的无密码push

    这步其实不是必须的,只是我们在push代码到服务器上的时候,可以不必输入密码,一来方便,二来也避免了把密码告诉使用服务器的每个人。
    在需要push代码的机器上执行
    ssh-keygen -t rsa
     执行过程中会问一些问题如生成密钥文件的名字什么的,用默认的就可以了,而且推荐使用默认的。因为在执行git push命令时,会默认找到  ~/.ssh/id_rsa,如果是其他文件名的话,就需要自行指定了,具体的命令选项请自行寻找。
     将生成的id_rsa存放于~/.ssh目录下,id_rsa.pub拷贝到git服务器上,scp或者U盘之类的都无所谓。
     

git服务器的设置

    推荐建立一个专门的git帐户,方便于管理和权限控制。
    在root下执行adduser git
    为git设定密码  passwd git
    如果在刚才有把id_rsa.pub拷贝到服务器上来,执行下一步,否则略过。
    cat id_rsa.pub >> /home/git/.ssh/autoorized_keys, 不存在的目录和文件自行手工建立。


如果需要更细粒度的权限管理,推荐安装 gitosis 或者 gitolite,博主本人只在小组内部开发,就不去做这个设定了。

gitweb的安装

    gitweb方便了大家及时查阅工程相关近况,而且直接在浏览器里查看,相当直观,推荐安装。
     
    安装apache2 apt-get install apache2 
    安装gitweb   apt-get install gitweb
    运行命令后,相关的配置都会被自行设定好,gitweb相关的有
    /var/www/gitweb   /etc/gitweb.conf

    修改/etc/gitweb.conf中   $projectroot="xxxxxx";    xxxx替换成git帐号的主目录  /home/git,
    在/home/git目录下建一个工程进行测试   
    mkdir test.git
    cd test.git
    git init
    
    用浏览器打开   http://xxx.xxx.xxx.xxx/gitweb 
     ubuntu中git服务器的架设_第1张图片
很简单是不是?
以上基本上是最简单的步骤了,如果有什么疑问,可以email给博主 [email protected]


你可能感兴趣的:(apache,浏览器,服务器,git,ubuntu,email)