代码之家  ›  专栏  ›  技术社区  ›  Olivier Verdier

用路径而不是远程获取Git

  •  4
  • Olivier Verdier  · 技术社区  · 15 年前

    我明白跑步的意思 git fetch <remote> ,因为远程分支随后可用于 git checkout <remote>/<branch> .

    但是如果我只是跑步它是怎么工作的

    git fetch path/to/other/repo
    

    我该如何结帐相应的分行?请注意,该操作以静默方式运行(即使 --verbose ,并且不会创建新的分支。

    编辑 :只是要明确一点:我完全理解Git如何使用遥控器。我只是好奇这个替代语法 git fetch path/to/remote git fetch <url> . 它应该如何工作?为什么不创建新的分支?为什么它会在详细模式下安静运行?预期用途是什么?

    3 回复  |  直到 15 年前
        1
  •  2
  •   Bruno    15 年前

    即使在文件系统方面是“本地”的,另一个存储库也是远程存储库。

    如果要使用它,请首先将其添加为远程存储库(即使URL是本地的):

    git remote add <name> <url>
    

    然后,继续 git fetch (和其他命令)与远程计算机上的存储库相同。

    编辑: 如果你做一个简单的 吉特取出 从本地路径创建一个新的伪分支,名为 FETCH_HEAD . 您可以在新的分支中签出它,例如使用:

    git checkout -b new_branch FETCH_HEAD
    
        2
  •  1
  •   Community Mohan Dere    8 年前

    我认为最好的解释是 answer to another question 通过 Jakub Narębski .

    基本上:

    git fetch <path>
    

    只是拿着 HEAD 远程的分支,并将其本地存储到 FETCH_HEAD .

    git fetch <path> <branch>
    

    获取远程repo中的分支并将其存储在 取头 .

    Jakub Nar_bski的答案中描述了更高级的用法,但正如他自己所说,获取的最佳方法是使用命名的远程设备。

        3
  •  0
  •   Stefan Näwe    15 年前

    你必须明确地通过 refspec git fetch 获取远程分支。 git help fetch 应该帮助。