Git--本地服务器搭建
前言
本地搭建git服务其环境
新建管理员账号(用于单独管理仓库)
1
2useradd -m gitmanager
passwd gitmanager下载安装git
1
2
3apt-get install git
## 下载失败
apt-get update安装openssh
1
apt-get install openssh-server openssh client
下载gitosis
1
2
3
4
5
6
7git clone https://github.com/res0nat0r/gitosis.git
cd gitosis
sudo python setup.py install
##未安装需要安装Python
sudo apt-get install python创建项目仓库存储点
1
mkdir /home/gitServer
管理员公钥 放入服务器
1
2
3
4
5
6
7
8
9###主机电脑上
ssh-keygen -t rsa
scp .ssh/id_rsa.pub gitmanager@ip:/home/gitmanager/id_rsa.pub
###追加其他人公钥至管理员
$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys
$ cat /tmp/id_rsa.josie.pub >> ~/.ssh/authorized_keys
$ cat /tmp/id_rsa.jessica.pub >> ~/.ssh/authorized_keys客户端用户执行
1
2
3
4
5
6
7# 例如在 John 的电脑上
$ cd myproject
$ git init
$ git add .
$ git commit -m 'initial commit'
$ git remote add origin your_name@gitserver:/opt/git/project.git
$ git push origin master
服务器执行
- 初始化仓库
1
2
3
4
5
6
7
8
9#本地登录服务器账户
su gitmanager
#或者远程ssh登录服务器
ssh gitmanager@ip
# 根据公钥初始化控制仓库
gitosis-init < /home/gitmanager/id_rsa.pub
# 克隆控制仓库到本地
git clone gitmanager@ip:/home/gitmanager/repositories/gitosis-admin.git
服务器创建仓库
1 | mkdir testproject |
映射链接
1
ln -s /home/gitServer/gitrepository /home/gitmanager/repositories
设置仓库权限
1
2
3chown gitmanage:gitmanager /home/gitServer/gitxxx
chmod 700 /home/gitServer/gitxxx增加和去除子仓库
1 | # 仓库地址为服务器地址 |