Git 服务器搭建-亲测

安装好Ubuntu 或者 centos

在装系统的时候设置的用户名不一定要设置成git

开始搭建git环境

在root下进行

下载安装三个工具命令

apt-get install git-core openssh-server openssh-client 

安装python-setuptools 后面有命令需要这个工具包的命令

sudo apt-get install python-setuptools

安装配置gisosis

gitosis是Git下的权限管理工具,通过一个特殊的仓库(gitosis-admin.git)对Git权限进行管理

mkdir tools

cd tools

git clone http://github.com/res0nat0r/gitosis.git

安装gitosis

cd gitosis

python setup.py install

git 安装好了 查看 git --version

=====================================================================

创建新账号
sudo useradd -d /home/git -m git
sudo useradd -m git

指定账户密码
passwd git

修改登录方式
sudo usermod  -s  /bin/bash git

添加到超级用户组
命令 visudo

命令 vim /etc/sudoers
在 root ALL=(ALL:ALL) ALL 这一行下面加入一行:
git ALL=(ALL:ALL) ALL


生成管理员端的公钥
在另外一个Linux上执行 ssh-keygen -t rsa  一直按回车到完成
自动生成查看.ssh文件: id_rsa  id_rsa.pub  known_hosts
将管理员生成的公钥 id_rsa.pub , 拷贝到gitosis服务器下使用


初始化gitosis, 进入到拷贝过来的id_rsa.pub所在目录
生成管理员库 gitosis-admin.git
sudo chmod 777 id_rsa.pub
sudo -H -u git gitosis-init < id_rsa.pub    
这里之后自动生成 gitosis  repositories

sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

从服务器 克隆gitosis-admin.git
后续添加账号和权限都在这个,克隆的gitosis-admin.git 中执行
git clone git@192.168.0.254:gitosis-admin.git
得到文件夹 gitosis-admin: gitosis.conf  keydir

gitosis.conf 是gitosis的配置文件,用于配置用户和用户所拥有的权限
keydir 是所有组成员的公钥

 

测试管理员账号clone一下,这里是在客户端:

git clone git@192.168.1.252:gisosis-admin.git

成功后查看文件

test@ubuntu:~/gitosis-admin$ ls
gitosis.conf  keydir

gitosis.conf是gitosis的配置文件,用于配置用户和权限。

keydir/  是所有组成员的公钥

查看 cat gitosis.conf

test@ubuntu:~/gitosis-admin$ cat  gitosis.conf
[gitosis]

[group gitosis-admin]        库名
members = test@ubuntu  权限配置 是用户的 id_rsa.pub 重命名后的公匙名称:test@ubuntu.pub
writable = gitosis-admin    库名

test@ubuntu:~/gitosis-admin$

如果clone成功,后续就可以用这个账号添加新的权限,

修改后用 git status  查看修改的文件,git add filename , git commit -m "提交记录"

如同提交代码一样。

 

其他参考

Ubuntu下搭建repo服务器(一): 配置gitosis - EastJason - 博客园

=====================================================================

新加用户操作:

在客户端,你的编译服务器上创建 ssh key

 ssh-keygen -t rsa   直接回车到完成

然后id_rsa.pub 重命名一下,复制到 git服务器目录:

/git/repositories/gitosis-admin.git/gitosis-export/keydir/

test@ubuntu.pub

username@ubuntu.pub

配置权限

修改 /repositories/gitosis-admin.git/gitosis.conf  

[group test]   //库名称

members = test@ubuntu  username@ubuntu           //这里客户端的.pub名称

writable = test  //库名称

最后将 cat username@ubuntu.pub  

将key复制写入到文件 /git/.ssh/authorized_keys

如果你是在管理员账号下clone了gitosis-admin.git  这个库,那么你可以这个管理员clone的文件下修改,然后像提交代码一样提交。

=====================================================================


备份代码库
git clone --mirror git@192.168.1.100:test.git  test-new.git

如同拉取代码一样,只不过是装在了重命名的新.git库里

备份到本地就是如此操作,如果你有拉取权限的话。

最好是通过管理员账号来拉取,统一不出错

=====================================================================


查看当前提交用户名和邮箱
git config user.name
git config user.email

修改全局 提交用户名和邮箱
git config  --global user.name
git config  --global user.email

修改当前 提交用户名和邮箱
git config user.name 你的目标用户名
git config user.email 你的目标邮箱名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值