yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel -y
[root@iZwz9dk6fi8sgmkdvc1hiaZ ~]#yum -y install git
[root@iZwz9dk6fi8sgmkdvc1hiaZ ~]# git --version
git version 1.7.1(显示出版本号,表示安装成功)
[root@iZwz9dk6fi8sgmkdvc1hiaZ ~]# useradd git #git用户作为git访问的入口
[root@iZwz9dk6fi8sgmkdvc1hiaZ ~]# passwd git #设置密码
[root@iZwz9dk6fi8sgmkdvc1hiaZ ~]# su - git #切换到git用户
[git@iZwz9dk6fi8sgmkdvc1hiaZ ~]$ chown -R git:git ~/#git家目录下的权限要保证,否则简单的错误提示权限不够
[git@iZwz9dk6fi8sgmkdvc1hiaZ ~]$ git clone https://github.com/sitaramc/gitolite
[git@iZwz9dk6fi8sgmkdvc1hiaZ ~]$ mkdir -p $HOME/bin #为gitolite的二进制文件生成创建目录(创建bin目录并安装gitolite 到bin目录)
[git@iZwz9dk6fi8sgmkdvc1hiaZ ~]$ gitolite/install -to $HOME/bin # 编译生成安装文件
gitolite 使用特殊的版本库gitolite-admin 来管理用户和版本库,所以需要创建一个管理员来管理所有的用户和版本库
1.用git用户生成公钥
[git@iZwz9dk6fi8sgmkdvc1hiaZ ~]$ ssh-keygen -t rsa
2.修改.ssh/id_rsa.pub 为admin.pub(为什么要改成admin.pub 因为gitolite根据这个文件名来设立帐号.我这里用admin)
[git@iZwz9dk6fi8sgmkdvc1hiaZ ~]$ mv .ssh/id_rsa.pub admin.pub
3.使用管理员公钥安装gitolite(安装和初始化gitolite,都需要在git用户,gitolite自动生成了两个版本库:gitolite-admin.git 和test.git ,一个是管理仓库的,一个是测试用)
[git@iZwz9dk6fi8sgmkdvc1hiaZ ~]$ $HOME/bin/gitolite setup -pk admin.pub #安装并初始化,指定admin.pub公钥文件对应的用户为超级管理员
4.生成管理员管理仓库(不需要输密码)
[git@iZwz9dk6fi8sgmkdvc1hiaZ ~]$ git clone git@127.0.0.1:gitolite-admin #进入仓库后可以看到conf和keydir ,conf/gitolite.conf 是添加用户/仓库的配置, keydir 是放对应用户的公钥.并且此时,admin.pub这个公钥可以删除了
5. 编辑gitolite.conf
[git@iZwz9dk6fi8sgmkdvc1hiaZ ~]$ vim gitolite-admin/conf/gitolite.conf
定义两个用户组: admin 和 user
定义两个版本库: gitolite-admin 和 project
用户admin 对 这两个版本库有(读 写 删除)RW+ 权限
user组对project 有 (读 写)RW 权限
6.然后提交修改
[git@iZwz9dk6fi8sgmkdvc1hiaZ conf]$ git add .
[git@iZwz9dk6fi8sgmkdvc1hiaZ conf]$ git commit -m "new project"
设置一下用户git commit时附带打上这些信息
git config --global user.name "yourname"
git config --global user.email "your@email.com"
[git@iZwz9dk6fi8sgmkdvc1hiaZ conf]$ git config --global user.name "huangxinqiang"
[git@iZwz9dk6fi8sgmkdvc1hiaZ conf]$ git config --global user.email "huangxinqiang@qq.com"
[git@iZwz9dk6fi8sgmkdvc1hiaZ conf]$ git push origin master
这个时候,服务器已经搭建完毕了,只需要添加用户并给用户添加权限就可以了。下面我们添加用户测试
7.添加测试用户,设置权限
把测试用户的公钥放到keydir目录中,在conf/gitolite.conf 设置权限,然后再push
[root@iZwz9dk6fi8sgmkdvc1hiaZ ~]# git clone git@123.77.62.13:/testing.git
[root@iZwz9dk6fi8sgmkdvc1hiaZ ~]# cd testing
[root@iZwz9dk6fi8sgmkdvc1hiaZ testing]# git status
# On branch master#
# Initial commit
#nothing to commit (create/copy files and use "git add" to track)
1.在git官网(https://git-scm.com)下载安装git程序
2.右键选择Git Bash
3.打开一个DOS栏,输入 ssh-keygen.exe。这里可以用Tab键补全,然后有提示输入y后一直回车到结束
4.然后打开客户机用户目录下的 .ssh 中能看到id_rsa 私钥
5.然后把id_rsa 这个私钥文件上传到服务器的/home/git/gitolite-admin/keydir 目录中,设置权限vi gitolite.conf
6.提交修改
[git@iZwz9dk6fi8sgmkdvc1hiaZ conf]$ git add .
[git@iZwz9dk6fi8sgmkdvc1hiaZ conf]$ git commit -m "new project"
[git@iZwz9dk6fi8sgmkdvc1hiaZ conf]$ git push origin master
7.回到客户端,克隆版本库
打开Bash 窗口,输入git clone git@123.77.62.13:/testing.git
克隆成功之后,就可以自己提交文件,上传到服务器中。
如果此文对你有所帮助,请随意打赏鼓励作者^_^
微信公众号
微信
最新评论
总共0条评论