抛出一个问题:两台处于内网的机器,其中一台机器中有git仓库,另一台机器是否能用git clone该仓库?
一般来说我们使用git clone是这样使用的:
git clone git@github.com:jaronnie/gopher-road.git
同样的道理,我们可以使用git clone另一台处于内网机器上的仓库。
事实上,也可以clone服务器上的仓库。
Github的原理或许就是这样的。它底层依赖于类似Scp这样的命令。
服务器上创建一个仓库
假设该服务器对应的域名为gocloudcoder.com,用户为root。
mkdir mydocker
cd mydocker
git init
echo remote > README.md
git add README.md
git commit -m "add README.md"
本地获取服务器上的仓库
git clone root@gocloudcoder.com:/root/mydocker
scp命令
scp root@gocloudcoder.com:/root/mydocker .
同样也可以获取服务器上的文件,并且输入的密码都是ssh登录服务器的密码。
基本可以断定,git clone底层依赖的就是ssh以及scp。