Ho letto Git branching e tagging delle best practice e git tagging commenti - best practice , ma non vedo una risposta diretta a qualcosa che mi sono chiesto da molto tempo:
Perché Git ha tag? (anziché solo rami)
Sembrano essere cittadini di seconda classe, o almeno "diversi". Non vengono inseriti a meno che non lo specifichi esplicitamente. Le eliminazioni dei tag remoti non causano la cancellazione nei repository downstream.
Questo ultimo punto è stato un problema recente, in quanto qualcuno ha spinto un sacco di tag garbage con tonnellate di commit da un altro repository. Potremmo eliminarli a monte e gc i commit, ma ciò non si propagerebbe, e la prossima volta che qualcuno ha spinto un tag con git push --tags
, avrebbero ripulito quei tag e i commit. Quindi dovevamo assicurarci che tutti li eliminassero.
Quando e perché dovrei usare un tag anziché un ramo?