快速搭建私有git服务

2017/06/14 linux

创建用户

创建一个git用户,用来运行git服务

adduser git

不允许git用户登录shell

vim /etc/passwd
---------------
git:x:502:503::/home/git:/bin/bash
改为:
git:x:502:503::/home/git:/usr/bin/git-shell

创建裸库

使用–bare创建一个git裸库

cd /home/git/
mkdir store
cd store
git init --bare sample.git
chown -R git:git /home/git/store

ssh authorized_keys授权,记得是为git用户添加rsa授权

git自身不支持权限控制,但Git支持钩子(hook),所以可以在服务器端编写一系列脚本来控制提交等操作,达到权限控制的目的

vim /home/git/.ssh/authorized_keys
----------
将客户端 id_rsa.pub 追加进authorized_keys中

客户端clone

生成rsa秘钥,将id_rsa.pub拷贝至git服务器authorized_keys中

[root@bjyz-mawmd-test03 lost+found]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)?
[root@bjyz-mawmd-test03 lost+found]# ll ~/.ssh/
-rw------- 1 root root 1675 Dec 28 16:04 id_rsa
-rw-r--r-- 1 root root  418 Dec 28 16:04 id_rsa.pub

clone

[root@bjyz-mawmd-test03 lost+found]# git clone git@cp01-mawmd-rd02.epc.baidu.com:/home/git/store/sample.git
Initialized empty Git repository in /home/wwwroot/sample/.git/
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
[root@bjyz-mawmd-test03 wwwroot]# ll
total 4
drwxr-xr-x 3 root root 4096 Jun 14 14:21 sample

git库迁移

把现有仓库导出为裸仓库至git服务器上

git clone --bare ssh://caiguangyun@icode.baidu.com:8235/baidu/mawmd/goodcoder goodcoder.git

Search

    Table of Contents