我们在删除服务器A上有一个git存储库.我通常从我的工作机器通过ssh访问它,例如
git clone user@A:/path/to/repo
但是,A不能直接从外部工作访问.还有另一台服务器B,我可以将其输入到A.然后我想要做的就是在家里的机器上克隆存储库.我试过像这样的东西
git clone B:A:/path/to/repo git clone user@B:A/path/to/repo
两者都不起作用.我想我可以复制B上的回购并从那里克隆,但将更改合并回A将是一件麻烦事.有关我如何直接访问A的任何建议?
如果您在服务器A和服务器B之间进行无密码SSH设置,那么您可以编写一个简单的包装器脚本,该脚本通过SSH连接到服务器A,并使用来自Git的参数运行SSH命令.
创建脚本:
cat << EOF > ssh-wrapper.sh
#!/bin/sh
ssh -T serverB.example.com ssh ${@}
exit $?
EOF
chmod 755 ssh-wrapper.sh
Run Code Online (Sandbox Code Playgroud)
然后将GIT_SSH设置为./ssh-wrapper.sh并调用Git:
GIT_SSH='./ssh-wrapper.sh' git clone user@A:/path/to/repo
Run Code Online (Sandbox Code Playgroud)