搭建Git服务器
# 搭建 Git 服务器
在 ubuntu18.04 上搭建 Git 服务器。
# 安装 Git
sudo apt-get install git openssl
1
# 创建 Git 用户组和用户
sudo groupadd git
sudo useradd git -g git
1
2
2
# 禁止 Git 用户 Shell 登录
sudo vim /etc/passwd
# git:x:1000:1000::/home/git:/bin/sh => git:x:1000:1000::/home/git:/usr/bin/git-shell
1
2
2
# 创建认证公钥文件
# 创建git用户目录
cd /home
sudo mkdir git
sudo chown git git
sudo chgrp git git
cd /home/git
sudo mkdir .ssh && cd .ssh
sudo touch authorized_keys
sudo chmod 644 authorized_keys
# 将自己本地的公钥复制到authorized_keys中去
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 初始化 Git 空仓库
cd /home/git
sudo mkdir tony # 创建一个目录作为Git仓库集
sudo chown git:git tony
sudo ln -s /home/git/tony /tony
# 这是为了使clone的地址短一些。
# git clone git@xx.xx.xx.xx:/tony/demo.git
# 而不是
# git clone git@xx.xx.xx.xx:/home/git/tony/demo.git
#初始化git空仓库
cd /repos
sudo git init --bare demo.git
sudo chown -R git:git demo.git
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 远程同步
# 前提:本地公钥已经复制到了服务器中的/home/git/.ssh/authorized_keys中
# 本地创建demo.git
mkdir demo && cd demo
git init
git remote add origin git@xx.xx.xx.xx:/tony/demo.git
git add .
git commit -m "init"
git push -u origin master
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 脚本
使用脚本提高效率
#!/bin/bash
# 创建git空仓库
cd /tony
repo_name=$1".git"
git init --bare ${repo_name}
chown -R git:git ${repo_name}
1
2
3
4
5
6
2
3
4
5
6
#!/bin/bash
# 删除git仓库
cd /tony
repo_name=$1".git"
sudo rm -rf ${repo_name}
1
2
3
4
5
2
3
4
5
上次更新: 2022/06/17, 07:22:19