git从防火墙后面的机器克隆到远程机器

我可以从工作机切换到家用机 这有效 工作$> ssh -x -Y myname@homemachine.dydns.org 现在,如果我想在工作计算机上将git repo克隆到我的家用计算机。我发出命令 工作$> git clone〜/ my_new_work_git_repo myname@homemachine.dydns.org:/ home / myname 但这最终会在mY工作机上创建一个名为\“ myname@homemachine.dydns.org \”的目录,该目录的子目录为“ home \”,然后是\“ myname \”。无论我尝试使用哪种URL方案ssh://或rsync://,回购都将克隆到本地工作计算机上这个愚蠢的命名目录的克隆 我究竟做错了什么。我通读了一些似乎相关的问题,但无法弄清楚为什么失败     
已邀请:
从您的问题很难说出您要克隆的方向。 如果您的存储库位于您的家用计算机上,并且您试图将其克隆到您的工作计算机上,则参数顺序将向后。
git clone original clone
,所以在您的情况下:
git clone myname@homemachine.dydns.org:/home/myname ~/my_new_work_git_repo
如果您要克隆的是正在运行的存储库,则可以将其存储在家用计算机上,那么您将需要能够从另一个方向进行SSH;从家用机器到工作机器。您不能通过SSH“推”克隆,而只能“拉”(也就是说,只能从本地或远程存储库在本地计算机上创建克隆)。 如果您需要将回购从您的工作机上获取到您的家用计算机上,但又无法从您的家用计算机上进行SSH登录,则可以克隆到一个新的裸存储库中,然后将其“ 2”存入您的家用计算机中。现在,当您在家时,您可以克隆该裸存储库,使用它,推送到它等等。在工作时,您可以从中拉出,推入它,等等。 这是一个如何工作的示例:
Work$> git clone --bare ~/my_work_repo repo.git
Work$> scp -r repo.git myname@homemachine.dydns.org:/home/myname
Work$> git remote add home myname@homemachine.dydns.org:/home/myname/repo.git

Home$> git clone repo.git my_home_repo
Home$> cd my_home_repo
Home$> # edit, commit, etc
Home$> git push origin

Work$> git remote update
Work$> git pull home master
    

要回复问题请先登录注册