我们如何将本地目录中的存储库克隆到远程机器目录
machine1:/usr/rep/ -> clone this to machine2:/var/new_repo
Run Code Online (Sandbox Code Playgroud)
实际的命令是什么
EDIT1
我正在尝试从 machine1 创建克隆
EDIT2
我也尝试过以下方法,git clone --bare user@anothersite.com/usr/repo /var/repo/不确定这是否是正确的方法
EDIT3
这是执行EDIT2中的命令后的错误
You have no controlling tty and no DISPLAY. Cannot read passphrase. fatal: The remote end hung up unexpectedly
================================================Initialized empty Git repository
in /var/repo/ DEBUG: remote_exec loop:$stderr: Initialized empty Git repository
in /var/repo/ DEBUG: create_repoX loop: $stdout: DEBUG: create_repoX loop:
$stderr: Initialized empty Git repository in /var/repo/ DEBUG: create_repoX loop: $exit: 32768
Run Code Online (Sandbox Code Playgroud)
我认为将克隆“推送”到远程计算机而不是在远程计算机本身上运行克隆是有正当理由的,我认为这里的其他答案没有涵盖这一点。事实上,我已经多次有理由这么做了。
我写了一个脚本来轻松处理它:git-pushclone
描述:该脚本将存储库克隆到远程服务器,并使这个新存储库成为当前存储库的远程存储库。使用SSH协议。
这实现了一种推式克隆,每当不想从远程计算机克隆时就需要这样做。例子有:
没有对本地服务器的传入访问:当在本地计算机上进行开发时,人们不希望授予任何远程访问权限,但希望将开发“发布”到其他人可以从中访问的服务器。
远程服务器的公共登录:当一个人无法单独访问远程服务器而只能以组用户身份登录时:在这种情况下,从远程服务器启动克隆需要将本地存储库服务器的凭据放入组中服务器的帐户。