我理解运行git fetch <remote>
的想法,因为远程分支随后可以git checkout <remote>/<branch>
使用。
但是,如果我只是运行
,它是如何工作的git fetch path/to/other/repo
如何查看相应的分支?请注意,操作以静默方式运行(即使使用--verbose
),并且不会创建新分支。
编辑:只是为了清楚:我完全理解git如何使用遥控器。我只是对这种替代语法git fetch path/to/remote
或git fetch <url>
感到好奇。它应该如何工作?为什么不创建新的分支?为什么即使在详细模式下它也会静默运行?预期用途是什么?
答案 0 :(得分:2)
即使它在文件系统方面是“本地的”,另一个存储库也是一个远程存储库。
如果要使用它,请先将其添加为远程存储库(即使网址是本地的):
git remote add <name> <url>
然后,继续执行git fetch
(以及其他命令),方法与远程计算机上的存储库相同。
修改强>
如果从本地路径执行简单的git fetch
,则会创建一个名为FETCH_HEAD
的新伪分支。您可以在新分支中查看它,例如使用:
git checkout -b new_branch FETCH_HEAD
答案 1 :(得分:1)
我认为最好的解释(比文档好得多)是answer to another question Jakub Narębski。
基本上:
git fetch <path>
只提取遥控器的HEAD
分支,并将其本地存储到FETCH_HEAD
。
git fetch <path> <branch>
获取远程仓库中的分支并将其存储在FETCH_HEAD
。
在JakubNarębski的回答中描述了更高级的用法,但是,正如他自己所说,获取的最佳方法是使用命名的遥控器。
答案 2 :(得分:0)
您必须明确地将refspec
传递给git fetch
以获取远程分支。 git help fetch
应该有所帮助。