什么是命令中的默认存储库" git ls-remote --tags"

时间:2017-11-13 03:36:37

标签: git

在Git的手册页中,<repository>命令中的ls-remote参数是可选的。但它没有指定没有给出的行为。

一些测试似乎表明Git使用origin作为默认值(是的,我有多个远程存储库)。当origin远程存储库不存在时,它似乎返回错误消息fatal: No remote configured to list refs from.

然而我的测试是有限的(无法测试无限的情况)。那么,任何人都可以确认默认值是契约origin吗?

或者,是否我忽略了任何命令,它设置了上面提到的默认存储库?

1 个答案:

答案 0 :(得分:2)

  

那么,任何人都可以确认默认值是契约origin吗?

来自Git的消息来源可以证实这一点。

例如,请参阅git/git/t/t5512-ls-remote.sh

test_expect_success 'dies when no remote specified and no default remotes found' '
    test_must_fail git ls-remote
'
test_expect_success 'use "origin" when no remote specified' '

但是same tests includes

test_expect_success 'use branch.<name>.remote if possible' '
    #
    # Test that we are indeed using branch.<name>.remote, not "origin", even
    # though the "origin" remote has been set.
    #

因此git ls-remote实际默认值是上游分支远程(或者起源没有上游分支与当前分支相关联)

git config branch.<name>.remote