Risposte:
I rami degli argomenti sono in genere rami leggeri creati a livello locale e che hanno un nome significativo per te . Sono dove potresti lavorare per una correzione di bug o funzionalità (sono anche chiamati rami di funzionalità) che dovrebbe richiedere del tempo per il completamento.
Un altro tipo di ramo è il "ramo remoto" o "ramo di tracciamento remoto". Questo tipo di ramo segue lo sviluppo del lavoro di qualcun altro e viene archiviato nel proprio repository. Aggiorna periodicamente questo ramo (usando git fetch
) per tenere traccia di ciò che sta accadendo altrove. Quando sei pronto a recuperare il ritardo con le modifiche di tutti gli altri, utilizzeresti git pull
sia per recuperare che per unire.
Ho anche visto un altro tipo di ramo che è essenzialmente un albero di file completamente separato nello stesso repository. Ad esempio, il repository Git stesso contiene head denominati man e html che contengono contenuti completamente diversi dal ramo master . Non so come si chiamano questi tipi di rami.
Non è un termine tecnico; si riferisce solo a un ramo creato per implementare una funzione specifica o correggere un bug. L '"argomento" è essenzialmente il motivo della creazione del ramo.
https://github.com/dchelimsky/rspec/wiki/Topic-Branches lo spiega bene:
Un ramo "argomento" è un ramo separato che si utilizza quando si lavora su un singolo "argomento" (una correzione di bug, una nuova funzionalità o un'idea sperimentale). Si consiglia di lavorare su un ramo argomento anziché direttamente sopra "master" perché:
{... visit link ...}
Quindi, per tutti questi motivi, si consiglia di utilizzare un ramo argomento per preparare gli invii anche per contributi semplici come correzioni di bug a commit singolo e simili.
Questo esempio fornisce anche esempi. Il che in realtà mi ha fatto pensare, questo è probabilmente ciò che la maggior parte dei negozi fa già. Tutti i progetti agili con cui sono mai stato fanno. Ho votato "Non è un termine tecnico" perché sento che questo colpisce l'unghia sulla testa.
sembra che il tipo più importante e importante di rami che non sono rami di argomento sarebbero i rami di rilascio su un repository principale, disponibile al pubblico, giusto?
Questo è probabilmente giusto per te, ma riguarda te e il progetto a cui stai pensando; non è determinato da Git.
La maggior parte dei sistemi di controllo delle versioni (in particolare quelli centralizzati) prescrivono o impongono un flusso di lavoro particolare, incluso ciò per cui ha senso usare un ramo. Git (e in una certa misura la maggior parte dei VCS distribuiti) considera che il flusso di lavoro, per quali rami sono usati, quando impegnarsi, per quali diversi repository sono usati, ecc. Sono tutti scelti dagli utenti e gli accordi tra gli utenti (politiche). Quindi Git non li applica tecnicamente.
Questa è una delle cose che mi ha reso difficile da imparare. Oliver Steele ha spiegato questo dal punto di vista dell'utente, scrivendo sulle politiche di commit .