54

在一台机器上(IP 地址 192.168.1.2),我创建了一个 Git 存储库

$ cd /home/hap/working
$ git init
$ (add some files)
$ git add .
$ git commit -m 'Initial commit'

我在同一个 Wi-Fi 网络上有另一台机器。如何从另一台机器获取克隆?

4

3 回答 3

98

您需要使用 git+ssh URL来执行 Git 克隆:

git clone git+ssh://hap@192.168.1.2/~/working

分解它:

  • git+ssh告诉 Git 你想使用 ssh 连接到 Git 存储库。
  • hap是您的用户名(我假设基于您问题中的主目录)。
  • 192.168.1.2是您要连接的机器
  • ~/working是远程计算机上 Git 存储库的路径(~您的主目录也是如此)

其他一些需要注意的事项:

  • 您需要在带有 Git 存储库的机器上启用 ssh 服务器
  • 您需要知道用户的密码hap
于 2010-05-11T05:11:25.840 回答
3

我假设您在两台机器上都安装了 Git。

现在你做什么取决于你安装了哪些服务,也就是说,你如何从一台机器连接到另一台机器。

最简单的情况是当您sshd在要克隆的机器上运行时,您可以要克隆的机器 ssh 到要克隆机器。

如果你能做到

ssh 192.168.1.2

(或者如果您在另一台机器上有不同的用户名,ssh user@192.168.1.2),那么您应该能够通过 SSH 进行克隆,就像Josiah 写道

git clone git+ssh://hap@192.168.1.2/~/working

如果你想继续在机器之间获取/推送,你应该为 SSH 配置公钥认证,不必在每次获取时提供密码。


如果您没有在源计算机上安装 sshd,如果您安装了 Web 服务器并且可以安装 CGI 脚本(请参阅git-http-backend手册页),则可以使用“智能”HTTP 协议进行克隆,或者您可以使用“如果您安装了 Web 服务器,则为“哑”HTTP 协议,但只能提供静态文件(您需要首先git update-server-info在源存储库中运行),或者如果您安装了 rsync,则可以使用rsync进行克隆。

作为最后的手段,您可以使用“ git bundle ”创建一个可以移动的存档,例如,使用 USB pendrive 并从中克隆。

于 2010-05-11T09:51:59.013 回答
0

我认为人们正在寻找这个答案。终端中的以下命令将登录到另一台计算机并克隆现有的存储库。在终端的当前路径位置(所以cd先到首选位置)。

git clone username@12.345.67.891:/home/path/to/repo.git

如果您现在没有 IP 地址。使用 ping 确定服务器的 ip。在IP地址之后不要忘记使用使用a:然后写绝对路径。

于 2017-08-24T14:02:06.953 回答