centos下应用gitosis搭建git代码仓库
先说明,针对的系统是centos,其它系统不知道,切匆模仿,后果自负!
安装git
$ wget http://kernel.org/pub/software/scm/git/git-1.7.2.3.tar.gz $ tar -xzvf git-1.7.2.3,tar.gz $ cd git-1.7.2.3 $ ./configure --with-curl=/usr/local $ make && make install $ git --version #查看版本号,确实git是否安装成功
安装gitosis
$ yum install python python-setuptools $ git clone git://eagain.net/gitosis.git $ cd gitosis $ python setup.py install
在开发机器上生成公共密钥(用来初始化gitosis)
$ ssh-keygen -t rsa #不需要密码,一路回车就行 $ scp ~/.ssh/id_rsa.pub root@xxx:/tmp/ # 上传你的ssh public key到服务器
初始化gitosis
$ adduser git # 会自动生成 /home/git/目录 和 git组 $ su - git # 切换倒git用户下 $ gitosis-init < /tmp/id_dsa.pub $ rm /tmp/id_rsa.pub # id_rsa.pub已经无用,可删除.
获取并配置gitosis-admin:
$ git clone git@someServer.com:gitosis-admin.git # 在本地执行,获取gitosis管理项目 $ vi gitosis-admin/gitosis.conf # 编辑gitosis-admin配置文件 [group 组名] writable = 项目名 members = 用户 # 这里的用户名字 要和 keydir下的文件名字相一致
接下来就可以初始化你本地的项目并提交倒git服务器了.
$ rails new demo # 以rails3为例 $ cd demo && vi .gitignore # .gitignore可以将你不需要上传的文件无视掉,比如database.yml、gemfile.lock等 这是一个例子: .bundle db/*.sqlite3 log/*.log tmp/**/* .rvmrc config/database.yml Gemfile.lock Gemfile.local $ git init $ git add . $ git commit -a -m "Initial import" $ git remote add origin git@yourserver.com:projectname.git $ git push origin master