第一步:安装git 依赖的库
#yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel gcc gcc-cc++
第二步:安装git
下载git-1.8.2.2.tar.gz安装包到/usr/local/src/下
# tar -zvxf /usr/local/src/git-1.8.2.2.tar.gz
# cd /usr/local/src/git-1.8.2.2.tar
# ./configure --prefix=/usr/local/git/
# make && make install
安装完后
# /usr/local/git/bin/git --version
出现 git version 1.8.3 表示安装成功
# ln -s /usr/local/git/* /usr/bin/git/
在任何地方执行 git 命令都可以
第三步:安装git用户管理 gitosis
#yum install -y python python-setuptools
#cd /usr/local/src
#git clone git://github.com/res0nat0r/gitosis.git
#cd gitosis
#python setup.py install
显示 Finished processing dependencies for gitosis==0.2即表示成功
第四步:在Linux上添加 运行git服务的用户
# useradd -c ‘git version manage‘ -m -d /home/git -s /bin/bash git
# passwd git //为git用户添加密码
# su git 切换到git用户下
走到这一步跳到 第五步操作 完成之后调回到下一步
# gitosis-init < /tmp/id_rsa.pub
显示以下信息即表示成功
Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/
到目前为止Linux git服务器安装成功
第五步:回到我们的电脑 生成git密钥用户名
#ssh-keygen -t rsa //执行此命令时一路回车 看到看面的信息
/*
Generating public/private rsa key pair.
Enter file in which to save the key (路径/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in 路径/.ssh/id_rsa.
Your public key has been saved in 路径/.ssh/id_rsa.pub.
The key fingerprint is:
71:5e:81:48:41:91:af:4c:74:bf:da:d8:9c:a6:d4:e9 [email protected]
*/
将生成的id_rsa.pub文件上传Linux git服务器的 /tmp/ 下 就是 第四步中的 gitosis-init < /tmp/id_rsa.pub 的文件
第五步完成
第六步:在我们的电脑增加及设置管理项目
在本地创建文件 比如:
#mkdir repository/
#cd repository/
#git clone [email protected]:gitosis-admin.git
#cd repository/gitosis-admin.git/
添加其他用户使用git 进行git操作 其他用户用第五步生成 id_rsa.pub文件发给你 然后进行如下操作
查看id_rsa.pub文件用“==”后面的值将这个文件重名 比如:[email protected]
#cp [email protected] keydir/[email protected]
#vim gitosis.conf
在文件尾增加以下内容
[group test-git] # 具有写权限的组名称
writable = test-git # 该组可写的项目名称
members = [email protected] [email protected] #该组的成员(密钥用户名) 多个用户协同开发时,以空格分隔
# 如果要增加只读的组 参考如下
# [group test-git-readnoly] # 具有都权限的组名称
# readonly = test-git # 该组只读的项目名称
# members = [email protected] # 该组的成员
第七步:提交修改
#git add .
#git commit -a -m "add test-git repo"
#git push