git branch -r vs git remote show origin

时间:2014-11-21 19:20:36

标签: git git-branch git-remote

所以我一直在寻找一种方法来查看遥控器上存在的所有分支的列表,并找到以下两个命令:

1. git branch -r 2. git remote show origin

两个命令之间的区别是什么?

1 个答案:

答案 0 :(得分:5)

git branch命令查看(或以不同方式调用,修改)您自己的存储库信息。对于远程跟踪分支(git branch -r),这将显示您上次使用git联系这些远程数据并获取更新时缓存中缓存内容的内容。

默认情况下,git remote show name命令运行git ls-remote,它实际上通过Internet电话(或您使用的任何其他传输)调用远程服务器并从中获取信息 right现在。如果您运行git fetch,这将放入您的缓存副本中。 (注意,如果你以后运行git fetch,那么你得到的结果可能会完全不同,因为即使只有几毫秒就可以有足够的时间进行大规模的更改。这一切都取决于关于遥控器的活跃程度。)

您可以告诉git remote show仅使用您的缓存副本,而不是在互联网电话上调用遥控器。在这种情况下,这两个命令使用相同的基本信息(但以非常不同的方式呈现 - git remote show旨在帮助您显示fetchpush将执行的操作,而git branch -r只需列出缓存中的内容。