所以我有一个git存储库,我在一个点上拉,该存储库驻留在服务器上。我无法访问我从中提取的原始存储库。如何从现有服务器获取代码到另一台计算机?
编辑1: 所以这就是它的样子:
我可以不使用git直接复制该目录,还是可以使用git克隆从B到C?
答案 0 :(得分:31)
这是通过在COMPUTER C上运行命令git clone
来创建COMPUTER B上的存储库的克隆来实现的,您希望在其中创建克隆的存储库。 git中的克隆可以使用多种协议完成,包括ssh,https,git;这些需要适当的设置才能使git clone
命令成功。
最简单的方法是使用以下命令在COMPUTER B上启动git服务器:
> git daemon
有关上述命令的帮助,请运行git help daemon
然后将标记文件放在COMPUTER B上的存储库的.git文件夹中,以授予git服务器在该存储库上运行clone命令的权限。这可以通过以下方式完成:
> cd <repository root>/.git
> touch git-daemon-export-ok
现在,从COMPUTER C上的终端运行以下命令:
> cd <folder in which to create the cloned repository>
> git clone git://<ip address of COMPUTER B>/<full path of the repository on COMPUTER B>
这将在COMPUTER C上创建克隆的存储库。
答案 1 :(得分:5)
您可以从网络位置提取或将整个目录(包含.git文件夹)复制到另一台计算机上。
答案 2 :(得分:3)
您可以从服务器克隆它,假设您可以访问存储克隆的位置 - 分发的力量;)
答案 3 :(得分:2)
您可以从计算机C:
运行git clone username@computer_B:path/to/root/of/repository
假设计算机B正在运行ssh服务器。 否则支持其他协议(文件://,http://,\\ computer_B(NetBios),...)
答案 4 :(得分:1)
如果有人对克隆有任何问题,我只是在希望将应用程序克隆到的机器上使用了此方法:
cd C:/my_apps/
git clone git@github.com:user/my-app.git
(使用您复制的SSH链接)完成
答案 5 :(得分:0)
你是说你想将它克隆到另一台计算机上?
怎么样:
git clone ssh://myserver/path/to/myproject.git
答案 6 :(得分:-2)
如果我理解正确的问题,你只想将代码的历史从B转移到C.实际上,因为git使用了以中心为模型,所以B有完整的代码历史,直到B和A之间的最后一个同步点。
如果您只想将代码历史记录从B转移到C,我可以想到三种方法: