Git 服务器
- SSH协议服务器
- HTTP协议服务器
- Git协议服务器
SSH服务器
# 创建基于密码验证的SSH服务器
# For Server
git init --bare /var/git/base_ssh
# For Client
git clone root@server_address:/var/git/base_ssh
# 免密登录
# For Client
ssh-keygen -f /root/.ssh/id_rsa -N ''
ssh-copy-id root@server_address
git clone root@server_address:/var/git/base_ssh
使用场景
VMWARE Workstation中使用NAT模式的虚拟机(A1)可以下载
和宿主机(A)处于同一局域网的主机(B)上的文件.
而同一局域网中的主机却无法访问此虚拟机上的文件.
一种做法是将虚拟机上的文件传到宿主机上,让同一局域网中的
主机访问宿主机获得此文件.还可以使用SSH协议搭建Git服务器来完成.
- 将B作为Git服务器:
git init --bare /var/git/repo /usr/sbin/sshd
- 在虚拟机A1上:
cd dir # 进入要传送的文件的目录 git init git add * git commit -m "Some message." git branch -M main git remote add origin main root@serverB_addr:/var/git/repo git push -u origin main
Git服务器
# For Server
yum -y install git-daemon
git init --bare /var/git/base_git
vim /usr/lib/systemd/system/git@service
# 修改ExecStart中的base-path为/var/git
# 保存退出
systemctl start git.socket
# For Client
git clone git://server_address/base_git
HTTP服务器(read only)
# For Sever
yum -y install httpd gitweb
vim /etc/gitweb.conf
# 新增
# $projectroot="/var/git";
# 保存退出
git init --bare /var/git/base_http
systemctl start httpd
# For Client
# Using Browser to Visit
# server_address:100/tree