我怎样才能从另一台机器“克隆”?

在一台机器上(IP地址192.168.1.2),我创build了一个Git仓库

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

而且我有另一台机器在同一个Wi-Finetworking上。 我怎样才能从其他机器克隆?

您需要使用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仓库的path(所以~是你的主目录)

其他一些事情要注意:

  • 您需要在机器上使用Git存储库启用ssh服务器
  • 你需要知道用户的密码

我假设在这两台机器上你已经安装了Git。

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

最简单的情况是当你想从克隆的机器上运行sshd ,并且你可以从你想克隆的机器上sshd到你想克隆的机器上。

如果你能做到的话

 ssh 192.168.1.2 

(或者如果你在另一台机器上有不同的用户名, ssh user@192.168.1.2 ),那么你应该可以通过SSH进行克隆,比如Josiah写道 :

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

如果要继续在机器之间进行读取/推送,则应该为SSHconfiguration公钥authentication,而不必在每次读取时提供密码。


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

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

我想人们正在寻找这个答案。 terminal中的以下命令将login到服务器并克隆现有的回购。 在terminal的当前path位置(先cd到首选位置)。

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

如果你现在不是IP地址。 使用ping来确定您的服务器的IP。 IP地址之后请不要忘记使用a :然后写绝对path。