在Git的手册页中,<repository>
命令中的ls-remote
参数是可选的。但它没有指定没有给出的行为。
一些测试似乎表明Git使用origin
作为默认值(是的,我有多个远程存储库)。当origin
远程存储库不存在时,它似乎返回错误消息fatal: No remote configured to list refs from.
然而我的测试是有限的(无法测试无限的情况)。那么,任何人都可以确认默认值是契约origin
吗?
或者,是否我忽略了任何命令,它设置了上面提到的默认存储库?
答案 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' '
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