Git存储库从一台机器到另一台机器

时间:2010-01-19 03:14:06

标签: git

所以我有一个git存储库,我在一个点上拉,该存储库驻留在服务器上。我无法访问我从中提取的原始存储库。如何从现有服务器获取代码到另一台计算机?

编辑1: 所以这就是它的样子:

  • 计算机A:我最初检出的git存储库。我再也无法访问它了。
  • 计算机B:我已签出代码的共享服务器。
  • 计算机C:本地笔记本电脑。

我可以不使用git直接复制该目录,还是可以使用git克隆从B到C?

7 个答案:

答案 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)

如果有人对克隆有任何问题,我只是在希望将应用程序克隆到的机器上使用了此方法:

  1. 在CMD中转到您想要将应用程序克隆到的文件夹,例如cd C:/my_apps/
  2. 登录github并转到要克隆的应用,按绿色按钮“克隆或下载”,您将看到SSH链接,将其复制。
  3. 在CMD中运行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,我可以想到三种方法:

  • 直接复制/ rsync /等。只需将\ B-machine \ code.git中的所有文件和结构复制到\ C
  • 即可
  • git clone:如果C可以通过http或ssh
  • 访问B,这是最佳选择
  • git bundle:git支持bundle命令,在bundle之后,你将/ rsync / ftp / scp包文件复制到C