ubuntu搭建Git服务器
在Ubuntu上搭建Git服务器的详细步骤
1.安装Git
sudo su #切换到root用户
apt install git #安装Git
git --version #查看Git版本
2.安装ssh服务器
apt install openssh-server #安装ssh服务器
service ssh status #查看所示服务器状态
service ssh restart #重启服务器状态
3.服务器端创建新用户来管理Git仓库
cd /home #切换目录
id git #查看是否存在该用户
->id: git: no such user
useradd git #添加用户git
passwd git #设置用户密码
4.创建Git仓库,并且将管理者变成新创建的Git用户
mkdir -p ./git/repository/gittest.git #创建目录
#在git用户目录下创建仓库目录repository,并创建gittest项目测试目录
cd git
cd repository
git init --bare ./gittest.git
#这步很重要,初始化项目测试目录
cd .. #切换到上级目录
chown -R git:git repository #将该目录的拥有者改为git
5.创建.ssh目录及authorized_keys文件
cd /home/git
mkdir -p .ssh
touch .ssh/authorized_keys
chown -R git:git .ssh #将该目录的拥有者改为git
chmod 700 .ssh #将.ssh权限改为 700
cd .ssh
chmod 600 authorized_keys #将authorized_keys权限改为 600
修改ssh的配置文件
vim /etc/ssh/sshd_config #打开配置文件
#按照如下进行配置
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
service ssh restart #重启ssh服务器
6.公钥管理
将每个人的公钥收集起来放到服务器的/home/git/.ssh/authorized_keys文件里面即可。
7.拉取仓库
如果是在局域网内,进行代码拉取。
git clone git@192.168.1.109:/home/git/repository/gittest.git
8.创建其他项目仓库
cd /home/git/repository
mkdir project.git #创建名为 project 的项目目录
git init --bare project.git #这步很重要,初始化项目
chown -R git:git project.git #修改拥有者为git
9.仓库迁移
git clone --mirror ssh://user@oldserver/path/to/repo.git
scp -r repo.git user@newserver:/path/to/repo.git
ssh user@newserver
cd /path/to/repo.git
git remote set-url origin ssh://user@newserver/path/to/repo.git
git push --mirror
例如:
git clone --mirror git@116.xx.xx.154:/home/git/repository/Bxxxxx_48K_Master.it
scp -r Bxxxxx_48K_Master.git/ git@192.168.2.185:/home/git/repository/
ssh git@192.168.2.185 #到新的服务器上面
cd /path/to/Bxxxxx_48K_Master.git
git remote set-url origin gt@192.168.2.185:/home/git/repository/Bxxxxx_48K_Master.git
git push --mirror