【问题标题】:git fetch with path instead of remotegit fetch 使用路径而不是远程
【发布时间】:2011-04-19 06:28:00
【问题描述】:

我理解运行git fetch <remote> 的想法,因为远程分支随后可以通过git checkout <remote>/<branch> 使用。

但是如果我只是运行它是如何工作的

git fetch path/to/other/repo

如何查看对应的分行?请注意,该操作以静默方式运行(即使使用--verbose),并且不会创建新分支。

编辑:明确一点:我完全理解 git 如何与遥控器配合使用。我只是对这种替代语法 git fetch path/to/remotegit fetch <url> 感到好奇。它应该如何工作?为什么它不创建新的分支?为什么即使在详细模式下它也会静默运行?预期用途是什么?

【问题讨论】:

    标签: git git-fetch git-remote


    【解决方案1】:

    即使就文件系统而言它是“本地”的,另一个存储库也是远程存储库。

    如果要使用,先添加为远程仓库(即使url是本地的):

    git remote add <name> <url>
    

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

    编辑: 如果您从本地路径执行简单的git fetch,它会创建一个名为FETCH_HEAD 的新伪分支。您可以在新分支中检查它,例如使用:

    git checkout -b new_branch FETCH_HEAD
    

    【讨论】:

    • 你没有明白这一点。我了解 git fetch 如何与命名远程一起工作。我了解直接从路径(或 url)获取时 git 的工作原理。
    • @Olivier,对不起,我刚刚编辑了我的答案,以谈论 FETCH_HEAD
    【解决方案2】:

    我认为最好的解释(比文档好得多)是answer to another question by Jakub Narębski

    基本上:

    git fetch <path>
    

    只需获取远程的HEAD 分支,并将其本地存储到FETCH_HEAD

    git fetch <path> <branch>
    

    获取远程仓库中的分支并将其存储在FETCH_HEAD

    Jakub Narębski 的回答中描述了更高级的用法,但正如他自己所说,获取的最佳方法是使用命名遥控器。

    【讨论】:

      【解决方案3】:

      您必须将refspec 显式传递给git fetch 才能获取远程分支。 git help fetch 应该会有所帮助。

      【讨论】:

      • 那么在不指定 refspec 的情况下使用“git fetch path”有什么意义呢?为什么“详细”选项不起作用??
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-22
      • 2013-05-26
      • 1970-01-01
      • 2013-07-22
      • 2018-06-07
      • 1970-01-01
      • 2010-09-21
      相关资源
      最近更新 更多