详细说明:我连接到与本地计算机连接不稳定的远程计算机,但仍然足够稳定,可以从存储库中提取和更新git而不会中断。
这意味着当我命令git通过远程连接(通过SSH)在远程计算机上拉动git时,SSH session 通常因此中断; git进程停止。但是,如果我亲自去远程机器并在远程机器上命令git pull,即使它很慢,它也可以完成拉过程。无论git(SSH,HTTPS)使用的协议(protocol)如何,两者都适用。
如何使远程计算机上的拉过程独立于本地计算机的远程连接?
最佳答案
从技术上讲,您可以make a remote ssh command run in the background of the remote machine。
因此,这样的事情可能是可以接受的解决方法(使用警告时,您可能看不到完整的输出或无法立即知道命令是否完成)
ssh -n -f user@host "sh -c 'git clone /url/ /a/pth > /dev/null 2>&1 &'"
这个想法是:如果ssh session 中断,则在后台在远程计算机上启动的克隆不会停止。