我可以从我的工作机器ssh到我的家用机器
这有效
工作$> ssh -x -Y myname@homemachine.dydns.org
现在,如果我想将我的工作机器上的git repo克隆到我的家用机器上.我发出命令
工作$> git clone~/my_new_work_git_repo myname@homemachine.dydns.org:/ home/myname
但最终会创建一个名为"myname@homemachine.dydns.org"的目录,其子目录为"home",然后是mY工作机上的"myname".无论我尝试使用什么URL方案ssh://或rsync:// repo都会克隆到我本地工作机器上这个愚蠢命名的目录
我究竟做错了什么.我阅读了几个似乎相关的问题,但无法弄清楚为什么会失败
从你的问题中判断出你要克隆的方向有点难.
如果您的存储库位于您的家庭计算机上,并且您正尝试将其克隆到您的工作计算机上,那么您将向后设置参数顺序.就是git clone original clone这样,在你的情况下:
git clone myname@homemachine.dydns.org:/home/myname ~/my_new_work_git_repo
Run Code Online (Sandbox Code Playgroud)
如果您的意思是尝试克隆正在运行的存储库,那么您可以在家用计算机上使用它,那么您将需要能够在另一个方向上进行SSH; 从您的家用机器到您的工作机器.您无法通过SSH"推送"克隆,只能"拉"(即,您只能通过本地或远程仓库在本地计算机上创建克隆).
如果您需要从工作机器到家用机器的回购,但无法从家用机器进行SSH,您可以只需克隆到新的裸存储库,然后再将scp其存入您的家用机器.现在,当你在家时,你可以克隆那个裸存储库,使用它,推送它等等.当你在工作时,你可以从它,拉到它,等等.
这是一个如何工作的例子:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1286 次 |
| 最近记录: |