远程服务器:linux:centos6.5
客户端:windows10python
首先是在远程服务器上配置git时应该用新的单独的用户来管理git仓库
在root下键入:linux
useradd –m gitadmin passwd gitadmin ----设置密码
而后将gitadmin设置为管理员
修改sudoers文件ios
sudo vim /etc/sudoers
进入文件夹,找到下面root这行,并在下面添加git
gitadmin ALL=(ALL) ALL
保存,退出github
git:vim
sudo Yum install git git-core
python setup tool:segmentfault
sudo Yum install python-setuptools
获取并安装gitosiswindows
cd ~ cd /tmp git clone https://github.com/tv42/gitosis.git cd gitosis python setup.py install
通常来讲使用WINdows做为仓库的管理员,centos
在windows系统下下载git见另外一篇博客Elam的git笔记:(二)git的安装与基本操做介绍服务器
将windows系统下生成的id_rsa.pub 拷贝到linux系统下
并放入/etc/tmp目录下 不要.pub文件的名字
像gitosis添加公钥并初始化
su gitadmin gitisis-init < /tmp/id_rsa.pub cd ~ ls
能够看到生成的管理员仓库默认在gitadmin目录下的repositories下
给gitosisadmin版本库的脚本可执行权限:
chmod 755 /home/gitadmin/repositories/gitosis-admin.git/hooks/post-update
这样子gitosis的初始化就宣布成功了
初始化gitosis以后,在远程服务器端就自动建立了一个gitiosis管理的git仓库,在repositories下:gitosis-admin.git
管理员在Windows端clone gitosis-admin.git,进入本身的管理员工做目录。
打开git Bash,cd到准备放置仓库的文件夹下
键入
git clone gitadmin@ip:gitosis-admin.git IP指的是远程服务器的地址,即能用ssh登录的地址 cd gitosis-admin/
理论上你能够看到一个文件夹keydir
一个config文件 gitosis.conf
权限设置所有在这个config文件里面完成
vim gitosis.conf
能够看到初始内容是
这个时候咱们来测试git是否有效
从新回到远程服务器即,linux端
键入:
su gitadmin cd /home/gitadmin/respositories mkdir test22.git cd test22.git git init –bare
而后回到windows端
能够用新用户的公钥,即在另一台电脑上生成一个公钥,并将公钥考到clone下来的gitosis-admin仓库下的keydir文件夹下
管理员将用户的公钥改成用户名.pub
而后修改gitosis.conf
键入:
vim gitosis.conf
如图 我增长了2个用户,权限为读写,若是你想设置只读权限,那么把writable改成readonly
:wq保存
在git Bash下
git add . git commit –m “add hex zfq-pc to test22.git” git push
Push成功后,用户所在电脑就能够clone这个test22的仓库了
以上