Dans Git, il est possible de définir et d'appliquer un bon modèle de commit.
Pouvez-vous recommander (de préférence avec argumentation) un bon modèle / des directives de validation à appliquer dans l'entreprise?
version-control
git
dvcs
kyrisu
la source
la source
Mod
etRef
? Parfois, je ne fais que de petites corrections qui sont une sorte de refactoring.Mod
consiste à ajouter quelque chose ou à modifier un comportement,Ref
à modifier des éléments internes qui n’ajoutent aucune fonctionnalité, n’ajoutent pas d’API, etc. Exemple: si j’ai uneadd(Object)
fonction et j’implémente uneadd(List<Object>)
fonction, je vais commenterMod
. Plus tard , je supprimer les doubles emplois et d' utiliser directementadd(Object)
dansadd(List<Object>)
je vais utiliserRef
.Nous utilisons les éléments suivants:
[Identifiant du ticket dans JIRA]: [Message: Qu'est-ce qui a été fait] Par exemple - ABC-123: Possibilité supplémentaire de configurer la présentation par région.
Dans ce cas, avec une intégration correcte, vous pourrez obtenir des fichiers modifiés / supprimés / ajoutés dans votre suivi des problèmes. Cependant, sachez que vous devez éviter quelque chose comme ABC-123: Terminé ou ABC-123: Corrigé avec des filtres si possible.
la source
Il existe une règle simple, qui est une convention suivie par plusieurs (sinon tous) GDS et par la plupart des outils qui fonctionnent avec les GDS:
Ainsi, la plupart des outils affichent uniquement la première ligne et affichent l'intégralité du message à la demande.
Une mauvaise utilisation typique d'un message de validation est une liste de modifications (seule la première puce sera affichée). Une autre utilisation abusive consiste à écrire un message détaillé sur une seule ligne.
Donc, s’il ya une chose à appliquer, je dirais que c’est la longueur maximale de la première ligne.
la source
Personnellement, je n'ai jamais vu de modèle de commit général à utiliser. Le commentaire doit indiquer de manière concise ce que les commits sont liés, par exemple, quelle fonctionnalité / correction de bogue ou une brève déclaration expliquant pourquoi des modifications ont été apportées.
Les informations sur ce qui a été commis ne doivent pas être incluses, cela peut être déterminé par le système scm. Plus d'informations sur les bogues / fonctionnalités appartiennent aux endroits où les bogues et les fonctionnalités sont suivis.
Lors de la mise à jour d'un rapport de bogue après une validation, je trouve bon d'indiquer également la révision de validation avec les commentaires dans le rapport de bogue. De cette façon, vous pouvez trouver votre chemin entre le commentaire de validation et le rapport de bogue, et pour chaque commentaire du rapport de bogue, vous pouvez trouver ce qui a été commis, mais vous ne dupliquez pas les informations en les affichant à la fois dans le rapport de bogue et dans le message de validation.
Ensuite, lors de la visualisation de l'historique des révisions pour un fichier, vous avez de beaux messages brefs décrivant l'historique, mais vous savez également où chercher davantage de détails. Rapports de bogues ou descriptions de tâches pour plus de détails.
la source
Dans Git, il est possible de faire presque n'importe quoi avec des hooks Git . Consultez les exemples dans .git / hooks pour des idées.
En ce qui concerne le message, dans un cas très général, vous souhaitez inclure suffisamment d'informations sur le problème que vous êtes en train de résoudre ET la solution elle-même pour pouvoir rechercher et identifier ce commit ultérieurement. Dans la plupart des cas, le problème sera référencé par un numéro de bogue (avec une intégration appropriée avec votre système de suivi des bogues). Si vous avez d'autres systèmes dans lesquels votre processus s'intègre (comme le système de suivi de révision de code), incluez également les bits appropriés:
MAIS vous voulez rester simple. Sinon, les gens trouveront un moyen de tromper le système et de produire des messages de validation inutiles.
la source
Nous utilisons un template contenant
Les deux premiers sont omis la plupart du temps cependant (parfois les trois), donc ce n'est pas vraiment grave.
la source
J'ai généralement l'identifiant qui se trouve dans le système de suivi des tickets que j'utilise ou une vue d'ensemble de haut niveau en première ligne. Ensuite, j'ai les éléments "bullet" de l'élément de campagne du changement spécifique dans le commit. Donc, je pourrais faire quelque chose comme:
C'est le format de validation le plus propre que j'aime. C'est direct et au point. Une autre raison pour laquelle je le fais de cette façon est que si je veux créer un journal des modifications, je peux simplement prendre tous les messages de validation et les analyser dans un journal des modifications très facilement.
la source
[ticketId] [ABC] [topicId] [WIP] Message, où:
Exemples:
[# 452567] [add] [menu_it] nouvel élément - livre d'or
[# 452363] [correction] [banner_top] [WIP] 1024x300 peut être utilisé maintenant
[# 452363] [fix] [bannière_top] 500x200 peut être utilisé maintenant
[ # 452713] [rem] [page] annonce au milieu à gauche
la source