2012-10-17 13 views
36

Mi sono imbattuto in due strani personaggi alla fine di un comando git ls-remote e mi chiedo cosa significhi?Cosa significa^{} in git?

0e4c39557ccb6789173c refs/tags/2011-11-04 
966f8df553f18c486820 refs/tags/2011-11-04^{} 

Ti capita di sapere cosa significa questo {}? Inoltre, perché questo tag git sembra duplicato?

risposta

32

La notazione ^{} è spiegato nel manuale gitrevisions:

<rev>^{}, e.g. v0.99.8^{} 

Un suffisso^seguita da una coppia tutore vuoto significa che l'oggetto potrebbe essere un tag, e dereferenziare il tag ricorsivo finché un non-tag l'oggetto è stato trovato

Nel tuo caso 0e4c39557ccb6789173c è l'oggetto di tag e 966f8df553f18c486820 è l'oggetto (commit) che in ultima analisi, a dereferenzia.

Dal manuale git show-ref:

-d 
--dereference 

tag dereferenziare in ID oggetto così. Verranno visualizzati con "^ {}" aggiunto.

+5

Una spiegazione più completa può essere trovata in questa domanda duplicata: http://stackoverflow.com/a/15472310/83284 – pedromanoel