通常情况下,git clone
很乐意克隆空存储库,它只会打印警告
警告:您似乎克隆了一个空存储库。
有没有办法告诉git只克隆非空存储库?理想情况下,如果存储库为空,我希望git clone
只是失败(没有创建工作副本)。
我目前的解决方案分为三个步骤:(1)克隆,(2)查看克隆是否为空,(3)如果为空则删除。这项工作是否很优雅(并且它会打印出我需要过滤掉的警告)。有更直接的解决方案吗?
答案 0 :(得分:1)
实际上没有办法做到这一点,但你可以近似它(有点差):设置一个指向你可能克隆的仓库的远程,然后在该远程上运行git ls-remote
。 (您可以使用任何git存储库执行此操作,包括临时空存储库。)如果ls-remote找不到引用,则克隆该存储库会创建一个空存储库。
这种方法有两个主要缺点,一个是次要的:
我认为你可能只是克隆 - 也许 - 删除,真的。 (或者只是克隆并且不要删除:空的回购没什么问题。我从评论中看到你不想要它们;我只是看不出原因为什么你不需要它们。“对于自动化”是一个目的,但不是理由。)