安装git
sudo apt-get install git
创建账户git
创建Linux账户git
,用来运行git服务
sudo adduser git
之后的提示,全部按回车就行
创建证书登录
收集所有需要登录的用户的公钥,公钥位于id_rsa.pub
文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys
文件里,一行一个。
如果没有该文件创建它:
cd /home/git/
mkdir .ssh
chmod 755 .ssh
touch .ssh/authorized_keys
chmod 644 .ssh/authorized_keys
这里的路径中的git是账户名的名称,/home/账户名/.ssh/authorized_keys,必须要所属账户下。
初始化git仓库
首先我们选定一个目录作为Git仓库,假定是/home/gitrepo/runoob.git,在/home/gitrepo目录下输入命令:
cd /home
mkdir gitrepo
chown git:git gitrepo/
cd gitrepo
git init --bare runoob.git
Initialized empty Git repository in /home/gitrepo/runoob.git/
以上命令Git创建一个空仓库,服务器上的Git仓库通常都以.git结尾。然后,把仓库所属用户改为git:
chown -R git:git runoob.git
克隆仓库
$ git clone git@192.168.0.106:/home/gitrepo/runoob.git
Cloning into 'runoob'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
192.168.0.106 为 Git 所在服务器 ip ,你需要将其修改为你自己的 Git 服务 ip。
此时,会报错
ssh: connect to host 192.168.0.106 port 22: Connection refused
fatal: 无法读取远程仓库。
请确认您有正确的访问权限并且仓库存在。
这个问题详见Ubuntu18.04 ssh server配置
此时再去clone
$ git clone git@192.168.0.106:/home/gitrepo/runoob.git
正克隆到 'runoob'...
git@192.168.0.106's password:
remote: 对象计数中: 3, 完成.
remote: Total 3 (delta 0), reused 0 (delta 0)
接收对象中: 100% (3/3), 完成.
如此,我们的git仓库就搭建完毕了。