它们不是等效的。
ref是完全合格的,即以refs/
开头,因此是明确的,或者不是完全合格的,即以refs/
以外的东西开头
未完全合格的裁判必须转换为完全合格的裁判。完成您的git push
的目标。如果找不到完全合格的裁判,则会向git push
的来源报告无法对裁判进行资格鉴定。
一个完全合格的ref当然已经是完全合格的,因此接收方Git只是说“好,那不存在”,因此要求删除的Git很高兴报告该引用不存在。因此,运行git push --delete
的Git很高兴,并认为一切都很好。
有人可能会说,做git push
的Git意识到“我无法为您推荐该裁判”是合理的,可能表示“我没有任何匹配的内容”依次表示“无论您引用的是什么,它都不存在”,这可能会使运行git push --delete
的Git感到高兴。但这不是实际发生的情况。
请注意,如果引用存在歧义,并且匹配两种或多种可能性,则我会发现以下几点:
server-repo$ git for-each-ref
11ae6ca18f6325c858f1e3ea2b7e6a045666336d commit refs/heads/ambig
222c4dd303570d096f0346c3cd1dff6ea2c84f83 commit refs/heads/branch
e068bdfce2fd992dc396cb4969327ef5c4d39a43 commit refs/heads/fix-signal
d41117433d7b4431a188c0eddec878646bf399c3 commit refs/heads/foobranch
11ae6ca18f6325c858f1e3ea2b7e6a045666336d commit refs/heads/master
11ae6ca18f6325c858f1e3ea2b7e6a045666336d commit refs/tags/ambig
d41117433d7b4431a188c0eddec878646bf399c3 commit refs/tags/tag-foo
和:
client-repo$ git push --delete origin ambig
error: dst refspec ambig matches more than one
error: failed to push some refs to [server URL]
本文链接:https://www.f2er.com/2872882.html