[英]Clone only if non-empty
通常, git clone
很樂意克隆空的存儲庫,它只是打印警告
警告:您似乎已克隆了一個空的存儲庫。
有什么辦法告訴git僅克隆非空存儲庫嗎? 理想情況下,如果存儲庫為空,我希望git clone
僅失敗(不創建工作副本)。
我當前的解決方案分為三個步驟:(1)克隆,(2)查看克隆是否為空,(3)刪除是否為空。 做這項工作,但幾乎沒有優雅(它會打印警告,我需要過濾掉它)。 有沒有更直接的解決方案?
確實沒有做到這一點的方法,但是您可以近似(有點差):設置一個指向您可能克隆的倉庫的遠程指向,然后在該遠程上運行git ls-remote
remote。 (您可以對任何git存儲庫執行此操作,包括臨時的空存儲庫。)如果ls-remote沒有找到引用,則克隆該存儲庫將創建一個空的存儲庫。
這種方法有兩個主要缺陷,一個是次要缺陷:
我認為您真的可以克隆並刪除。 (或者只是克隆,並且不移除:沒有什么錯用空的回購協議,我從你不想讓他們評論看,我只是不明白為什么你不希望他們的理由“自動化。 “是目的,而不是原因。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.