代码之家  ›  专栏  ›  技术社区  ›  jeffreyveon

如何从Git中的另一台计算机的存储库中提取数据?

  •  75
  • jeffreyveon  · 技术社区  · 14 年前

    例如,我在两台计算机上克隆了源存储库。然后,我继续进行一些更改并提交到计算机A的本地存储库。现在如何将这些更改拉到计算机B?计算机A和B都连接到网络。

    7 回复  |  直到 9 年前
        1
  •  104
  •   Amber    14 年前

    如果要从中拉出的机器可以通过 ssh ,您可以通过ssh将存储库添加为远程存储库,然后像任何远程存储库一样从中提取:

    $ git remote add repo_b username@host:path/to/repository.git
    $ git pull repo_b master
    

    (您可以跳过添加远程服务器的步骤,只需在 git pull 命令而不是远程名称,但是如果要定期从存储库中提取,则将其添加为远程将节省大量输入。)

        2
  •  35
  •   Antoine Pelisse    14 年前

    git pull --help

    这会有点像 git pull /my/other/repository

        3
  •  11
  •   Matthew Flaschen    14 年前

    您可以使用 git daemon . 否则,您可以使用 git bundle ,它将git的内部表示捆绑到一个可以用 git pull 在另一端。

    E、 g.从git文档中,打包所有内容:

    git bundle create file.bundle master
    

    git pull file.bundle HEAD
    
        4
  •  7
  •   Benoit Courtine    14 年前

    如果可以通过ssh连接到计算机B,则可以使用:

    git clone user@host:/path/to/repo
    

    它将通过这个ssh连接启用远程跟踪,并允许您使用git pull/push。

        5
  •  2
  •   Sagar P. Ghagare Ximena Quiroga    6 年前

    git remote add origin_username username@10.0.0.2:/home/username/dev/project/main/.git/
    
    git pull origin_username master
    

    git pull origin_username some_branch
    
        6
  •  0
  •   Vlad T.    8 年前

    我想到了

    git clone /path/to/local/repository
    
        7
  •  0
  •   Alex    7 年前

    有点太晚了,但是为了尽可能地扩展Antoine Pelisse的答案,您还可以从具有相同repo的ssh主机中提取更多的提交,而不必添加 遥远的

    git pull user@host:/path/to/repo  # while in the local repo folder
    

    为了清楚起见,这种方法的一个可能用途是当您有两个主机(A和B)从 遥远的 遥远的 (然而),但是希望将这些提交从主机B中提取出来。上面的命令与您的回购同步,而不必强制 遥远的