2012-05-01 17 views
18

Ho sempre dato per scontato che la directory .git/branches fosse per scopi legacy e che git usasse quella directory, ma ora utilizza invece la directory .git/refs. È vero? In caso contrario, qual è lo scopo di tale directory poiché non l'ho mai visto utilizzato o referenziato.A cosa serve la cartella .git/branches?

EDIT

sto usando git versione 1.7.3.4.

+0

Non ho una directory di rami in nessuno dei checkout che devo consegnare (tutto git 1.7.9 penso) - forse è deprecato e ora è andato? – Rup

+0

git 1.7.9.5, 1.7.9.1, 1.7.5.4 e ottengo sempre una cartella di filiali, sebbene vuota. –

+0

Non ho trovato alcun riferimento migliore di [questo collegamento] (http://www.siteground.com/tutorials/git/directory.htm), il che conferma che si tratta di un metodo deprecato per il rifiuto delle filiali. –

risposta

16

L'uso ormai "un po 'deprecato" di .git/branches è descritto nel utili gitrepository-layout documentation:

rami: Un modo un po' deprecato per memorizzare abbreviazioni da utilizzare per specificare l'URL a git fetch, git tirare e git push comandi è quello di memorizzare un file in rami/<nome> e dare nome a questi comandi al posto dell'argomento repository.

Nei commenti sopra, la domanda è stata sollevare del perché alcune persone hanno questa directory e alcuni no. Sembra che a commit was introduced in 2009 abbia impedito a git di creare la directory .git/branches per impostazione predefinita. Tuttavia, più di recente che cambiare was reverted (vale a dire nel senso che il .git/branchessarà essere creato su git init, etc.), con la seguente motivazione da Junio ​​Hamano C.:

non c'è abbastanza giustificazione per fare questo. Non aggiorniamo le cose in .git/branches e .git/remotes più, ma continua a leggere le informazioni da lì e continueranno a farlo.

Inoltre, questo interrompe un bel po 'di test in t55 ?? serie.

+2

Eccolo. Google non era mio amico, anche se ho chiesto abbastanza per favore zucchero sormontato. –

+0

@LucaGeretti: sì, la documentazione git di kernel.org aveva tutto il pagerank, e questo è * ancora * non ancora attivo ancora :( –