Antworten:
Namensregeln für refname:
Git legt die folgenden Regeln für die Benennung von Referenzen fest:
Sie können einen Schrägstrich
/für die hierarchische (Verzeichnis-) Gruppierung enthalten, aber keine durch Schrägstriche getrennte Komponente kann mit einem Punkt beginnen.oder mit der Sequenz enden.lock.Sie müssen mindestens eine enthalten
/. Dies erzwingt das Vorhandensein einer Kategorie wieheads/,tags/etc. , aber die tatsächlichen Namen sind nicht eingeschränkt. Wenn die--allow-onelevelOption verwendet wird, wird auf diese Regel verzichtet.Sie können
..nirgendwo zwei aufeinanderfolgende Punkte haben .Sie dürfen nirgendwo ASCII-Steuerzeichen (dh Bytes, deren Werte niedriger als
\040oder sind\177DEL), Leerzeichen, Tilde~, Caret^oder Doppelpunkt haben:.Sie dürfen nirgendwo ein Fragezeichen
?, ein Sternchen*oder eine offene Klammer haben[. In der folgenden--refspec-patternOption finden Sie eine Ausnahme von dieser Regel.Sie können nicht mit einem Schrägstrich beginnen oder enden
/oder mehrere aufeinanderfolgende Schrägstriche enthalten (--normalizeeine Ausnahme von dieser Regel finden Sie in der folgenden Option).Sie können nicht mit einem Punkt enden
..Sie können keine Sequenz enthalten
@{.Sie können nicht das einzelne Zeichen sein
@.Sie können kein a enthalten
\.
Darüber hinaus zusätzliche Regel für den Filialnamen:
- Sie können nicht mit einem Bindestrich beginnen
-
Dank Jakub Narębski enthält die Manpage für git check-ref-formatweitere Details.
/." Bitte erkläre? Keiner meiner Zweige hat einen /Namen.
/hat heads/ihm "automatisch" vorangestellt. Eigentlich: ohne a /ist noch nicht klar, ob es sich um einen Zweig oder ein Tag oder etwas anderes handelt ...