从Windows到Ubuntu Server的局域网Git克隆

时间:2015-05-18 19:14:25

标签: windows git ubuntu ssh

所以我在Windows工作站上工作了一段时间,通过git跟踪开发。现在我需要将所述项目移动到局域网上的Ubuntu服务器,这已经证明是一个重大的痛苦。我已经使用SSH登录到Ubuntu服务器,并尝试从Windows机器克隆项目。但是,我一直遇到同样的错误消息:

  

致命:' ___'似乎不是一个git存储库

     

致命:无法从远程存储库中读取。

     

请确保您拥有正确的访问权限并且存储库存在

我尝试了多种协议和URI,但结果总是一样的。我不知道什么是错的,我不知道在哪里寻找参考/获得更多的调试信息。非常感谢任何帮助,因为我真的在这里旋转我的车轮而无处可去。

以下是一些可能相关或可能不相关的其他要点:

  • windows机器在cygwin上运行open-ssh服务器,但是我也安装了msysgit。我觉得这可能是个问题。
  • 我遇到了" bash:git-upload-pack:命令未找到"。我可以通过放置" - upload-pack"
  • 来解决这个问题
  • 我不认为我在Windows机器上使用的存储库被初始化为裸存储库。
  • 我克隆代码的目录由git clone命令的URI中的同一用户拥有。

附录: 以下是我在Ubuntu服务器上使用的命令示例:

git clone --upload-pack "c:/Program\ Files\ \(x86\)/Git/libexec/git-core/git-upload-pack" "ssh://username@ipaddress/cygdrive/c/Users/username/.../projectname.git"

1 个答案:

答案 0 :(得分:0)

自从我使用cygwin以来已经过了几个月,但我记得在使用msysgit和cygwin时遇到问题。我更喜欢使用为cygwin打包的git版本。

我认为更简单的解决方案是rsync(或您首选的复制方法)包含工作目录的目录和从Windows到ubuntu服务器的.git目录。

然后在ubuntu服务器上,您可以使用创建一个裸仓库 git clone --bare /path/to/rsync'd/directory/ /path/to/new/repo.git

这应该起作用的原因是.git目录的内容是repo。