Risposte:
Raramente c'è una buona ragione per farlo, ma il parametro è --allow-emptyper commit vuoti (nessun file modificato), al contrario di --allow-empty-messageper messaggi di commit vuoti. Puoi anche leggere di più digitando git help commito 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 gitnell'algoritmo di hash degli oggetti.
Ci sono alcuni motivi si potrebbe desiderare un vuoto commit (che incorpora alcuni dei commenti):
gitcomandi 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 --amendse 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 -aopzione
devforma di ramomastere quindifeatimmediatamente un ramodev, ilfeatramo sembra provenire dalmasterramo poiché non esiste alcun commit distintivo suldevramo da cuifeatproviene il ramo. Un commit vuoto quando si effettua per la prima volta ildevramo aiuta a stabilire ildevramo 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