代码之家  ›  专栏  ›  技术社区  ›  Shaun Mundi

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

git
  •  16
  • Shaun Mundi  · 技术社区  · 16 年前

    编辑1:

    • 计算机B:一个共享服务器,我在上面签出了代码。
    • 计算机C:本地笔记本电脑。

    我可以不使用git直接复制该目录吗?或者我可以使用git从B克隆到C吗?

    6 回复  |  直到 14 年前
        1
  •  6
  •   Igor Zevaka    16 年前

    您可以从网络位置拉取或将整个目录(包含.git文件夹)复制到另一台计算机。

        2
  •  32
  •   user1820956 user1820956    13 年前

    git clone 在计算机C上,您希望在其中创建克隆的存储库。git中的克隆可以使用多种协议完成,包括ssh、https、git;这些都需要一个适当的设置 git克隆 命令成功。

    > git daemon
    

    有关上述命令的帮助,请运行 git help daemon

    > cd <repository root>/.git
    > touch git-daemon-export-ok
    

    > 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>
    

    这将在计算机C上创建克隆的存储库。

        3
  •  3
  •   Matt Enright    16 年前

    您可以从服务器克隆它,前提是您可以访问克隆的存储位置—分发功能;)

        4
  •  2
  •   Sdra    14 年前

    您可以从计算机C运行:

    git clone username@computer_B:path/to/root/of/repository
    

    假设计算机B有一个正在运行的ssh服务器。

        5
  •  2
  •   Pjotrs Osnovskis    6 年前

    如果有人对克隆有任何问题,我只在您希望将应用程序克隆到的机器上使用以下命令:

    1. 例如,在CMD中,转到要将应用程序克隆到的文件夹 cd C:/my_apps/
    2. git clone git@github.com:user/my-app.git (使用您复制的SSH链接)

    多恩

        6
  •  1
  •   sdot257    16 年前

    你是说你想把它克隆到另一台电脑上?

    怎么样:

    git clone ssh://myserver/path/to/myproject.git 
    
        7
  •  -2
  •   ivzhh    12 年前

    如果我理解正确的话,您只需要将代码的历史记录从B转移到C。实际上,因为git使用了去中心化模型,所以B拥有完整的代码历史,直到B和A之间的最后一个同步点。

    如果您只想将代码历史记录从B传输到C,我可以想到三种方法:

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