ls-remote --heads origin vs ls-remote。 "参/遥控器/ *"

时间:2014-03-17 16:35:43

标签: git

之间有什么区别
git ls-remote --heads origin

git ls-remote . "refs/remotes/*"

--heads origin版需要一段时间才能运行,我想它正在更新来自原点的引用。 . "refs/remotes/*"立即运行。

我想使用这些行来git grep远程头部,如下面的表达式所示。哪个是正确的?

git grep "expression" $(git ls-remote . "refs/remotes/*" | grep -v HEAD | cut -f 2)

--heads origin是否有可能返回本地不可用的哈希值,因此git-grep无法完成?在这种情况下,我想正确使用的是. "refs/remotes/*"首先获取所有内容?

1 个答案:

答案 0 :(得分:3)

git ls-remote . "refs/remotes/*"中,点表示您查询本地存储库以获取数据。

正如您所写,如果您使用git ls-remote --heads origin,则无人保证返回的哈希值可在本地访问。 所以我认为您的git fetch然后使用git ls-remote . "refs/remotes/*"是最安全的选择。