Comment puis-je créer un nouveau commit
et créer un nouveau message si aucun changement n'est apporté aux fichiers?
N'est-ce pas possible puisque le code du commit (SHA?) Sera le même?
Il y a rarement une bonne raison de le faire, mais le paramètre est --allow-empty
pour les commits vides, contrairement à --allow-empty-message
pour les messages vides. Vous pouvez également en lire plus en tapant git help commit
ou en visitant la documentation en ligne .
Alors que l'objet arbre (qui a son propre hachage) sera identique, le commit aura en réalité un hachage différent, car il aura vraisemblablement un horodatage et un message différents, et aura certainement un commit parent différent. Ces trois facteurs sont intégrés à l'algorithme de hachage d'objet de git
.
Il y a quelques raisons pour lesquelles vous pourriez vouloir un commit vide (intégrant certains des commentaires):
git
sans générer de modifications arbitraires (via Vaelus ).gitolite
(via Tatsh ).D'autres stratégies pour ajouter des métadonnées à une arborescence de validation incluent:
git notes
associer une note modifiable au-dessus d’un commit immuable existant.Si je vous ai bien compris, vous voulez faire un commit vierge. Dans ce cas, vous avez besoin de:
git commit --allow-empty
Commit vide avec un message
git commit --allow-empty -m "Empty test commit"
Commit vide avec un message vide
git commit --allow-empty --allow-empty-message
Peut-être comme alternative plus raisonnable, vous pourriez créer un balise annotée (un commit nommé avec un message). Voir le git tag -a
option.
Si vous utilisez un système tel que gitversion Il est très logique de faire ce type de commit. Vous pouvez avoir un commit spécialement conçu pour remplacer la version majeure à l'aide d'un commentaire + semver: major.