2010-10-21 96 views
2

我有两个服务器,A和B. A有仓库,可以ssh到B. B是一个新的服务器我想有仓库,但不能ssh到答:我试图复制回购,创建一个远程推,git克隆与-u ...任何建议? which'll集B为远程至A如何使用ssh克隆到远程服务器的仓库

+0

如果你没有SSH访问,*不要*你有什么样的访问权限?只要你有某种(可能是间接的)文件系统访问,你所要做的就是复制文件... – Cascabel 2010-10-21 01:09:29

+0

我的意思是服务器B由于防火墙而无法到达服务器A. A是内部开发服务器,B是顾问审查的外部服务器。 – user481826 2010-10-21 14:46:46

回答

0

当你说你尝试复制时,你是什么意思?你尝试过使用scp吗?

scp -R path/to/repo/on/A [email protected]:desired/path/to/repo/on/B 

需要注意的是,除非它有一个/开始跟随:的路径是相对于用户的主目录。

+0

我试过复制回购,首先用scp和tar文件夹。我可以在那里获取文件,但是当我尝试使用新回购的git日志时,存在致命错误。 – user481826 2010-10-21 14:36:42

2

创建基于B空库

B$ git init --bare repo.git 

然后推到它从一个使用SSH协议

A$ git push ssh://B/full/path/to/repo.git 
+0

嗯,所以我想这... B $ git的初始化--bare外部 一个$混帐推SSH://[email protected]/full/path/to/repo.git 我得到的消息: 没有参考,没有指定;什么也不做。 也许你应该指定一个分支,比如'master'。 致命:远程端意外挂断 – user481826 2010-10-21 14:40:56

+0

@ user481826:我很抱歉,我混淆了使用起来更简单但更复杂的设置方法,您可以使用基于URL的配置文件创建用于从A推送到B的“远程”配置,更少的方法,你必须指定分支来推送,或使用'--all' /'--mirror'。 – 2010-10-21 16:52:27

+0

A $ git push ssh://B/full/path/to/repo.git'*:*' – cmcginty 2010-10-22 00:56:55