Elam的git笔记:(一)Git与gitosis配置与基本操作

Git与gitosis配置与基本操作

远程服务器:linux:centos6.5
客户端:windows10

首先是在远程服务器上配置git时应该用新的单独的用户来管理git仓库
在root下键入:

useradd –m gitadmin
passwd  gitadmin   ----设置密码

然后将gitadmin设置为管理员
修改sudoers文件

sudo vim /etc/sudoers 

进入文件夹,找到下面root这行,并在下面添加
《Elam的git笔记:(一)Git与gitosis配置与基本操作》

gitadmin      ALL=(ALL)   ALL

保存,退出

安装git与gitosis

git:

sudo Yum install git git-core

python setup tool:

sudo Yum install python-setuptools

获取并安装gitosis

cd ~
cd /tmp
git clone https://github.com/tv42/gitosis.git  
cd gitosis  
python setup.py install  

gitosis初始化

一般来说使用WINdows作为仓库的管理员,

在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

初始化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

可以看到初始内容是

《Elam的git笔记:(一)Git与gitosis配置与基本操作》

这个时候我们来测试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

《Elam的git笔记:(一)Git与gitosis配置与基本操作》

如图 我增加了2个用户,权限为读写,如果你想设置只读权限,那么把writable改为readonly
:wq保存

提交对版本库的修改

在git Bash下

git add .
git commit –m “add hex zfq-pc to test22.git”
git push

Push成功后,用户所在电脑就可以clone这个test22的仓库了

《Elam的git笔记:(一)Git与gitosis配置与基本操作》

以上

    原文作者:郑付强
    原文地址: https://segmentfault.com/a/1190000013805964
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞