Risposte:
Raramente c'è una buona ragione per farlo, ma il parametro è --allow-empty
per commit vuoti (nessun file modificato), al contrario di --allow-empty-message
per messaggi di commit vuoti. Puoi anche leggere di più digitando git help commit
o visitando la documentazione online .
Mentre l'oggetto albero (che ha un hash proprio) sarà identico, il commit avrà effettivamente un hash diverso, perché presumibilmente avrà un timestamp e un messaggio diversi e avrà sicuramente un commit genitore diverso. Tutti e tre questi fattori sono integrati git
nell'algoritmo di hash degli oggetti.
Ci sono alcuni motivi si potrebbe desiderare un vuoto commit (che incorpora alcuni dei commenti):
git
comandi senza generare modifiche arbitrarie (tramite Vaelus ).gitolite
(tramite Tatsh ).Altre strategie per aggiungere metadati a una struttura di commit includono:
git notes
associare una nota mutabile in aggiunta a un commit immutabile esistente.commit --amend
se il telecomando non consente di forzare la spinta. In questo modo puoi consentire agli sviluppatori di vedere un messaggio importante associato al commit precedente.
Se stai usando un sistema come gitversion Ha molto senso fare questo tipo di commit. Potresti avere un commit specifico per eseguire il bump della versione principale usando un + semver: commento principale.
Forse come alternativa più sensata, potresti creare un tag con annotazioni (un commit con un messaggio). Vedi l' git tag -a
opzione
dev
forma di ramomaster
e quindifeat
immediatamente un ramodev
, ilfeat
ramo sembra provenire dalmaster
ramo poiché non esiste alcun commit distintivo suldev
ramo da cuifeat
proviene il ramo. Un commit vuoto quando si effettua per la prima volta ildev
ramo aiuta a stabilire ildev
ramo poiché è indipendente dal proprio ramo a tempo indeterminatomaster
. Generalmente è utile quando si utilizzano i rami come livelli e si creano due livelli da un singolo commit