目前只包含如何通过 SSH 协议在服务器上部署 Git
本文待完善,请酌情阅读
通过 SSH 协议在服务器上部署 Git
方便起见,我在本地添加了一个 git
用户以作演示,在服务器上部署与此类似,不再赘述。
-
在服务器上开启 SSH 服务:
systemctl enable --now ssh
-
将公钥配置到服务器:
# 只要能将公钥复制到服务器上就行,不管你用的是什么方法 sudo cp ~/.ssh/id_rsa.pub /home/git su git cd mkdir .ssh # 将你的公钥写入 SSH 的验证文件 cat id_rsa.pub >> .ssh/authorized_keys
-
在服务器上生成一个裸仓库:
# 先创建裸仓库目录 cd /opt/git mkdir project.git cd project.git # 生成一个空的裸仓库 git --bare init
你也可以克隆一个已存在的项目的裸仓库,然后上传到服务器的
/opt/git/
目录,这样就不用从头开始了。 -
添加远程仓库到项目:
git remote add local git@localhost:/opt/git/project.git
现在一切都大功告成了,快去试试
git
的推拉操作吧!
命令速查
-
克隆裸仓库:
git clone --bare my_project my_project.git
-
复制到 SSH 服务器:
scp -r my_project.git user@git.example.com:/opt/git
-
克隆上传的项目:
git clone user@git.example.com:/opt/git/my_project.git
-
初始化时将项目的组权限改为可写:
ssh user@git.example.com cd /opt/git/my_project.git git init --bare --shared