Mon flux de travail habituel avec GIT consiste à créer une nouvelle branche de fonctionnalité, de travailler avec des commits fréquents, puis fusionner dans la branche de développement lorsque la fonctionnalité fonctionne et / ou stable. p>
Habituellement, quand je fais Cependant, s'il y a des conflits de fusion (disons que j'ai terminé et fusionné une autre fonctionnalité tout en travaillant sur celui-ci), je semble perdre tous mes messages de validation de la succursale. Le message de valid rempli automatiquement remplit les conflits, mais pas les messages de validation. Où sont passés mes messages de validation? Puis-je les récupérer? P> Git Merge - Squash Feature-Branche Code>, je reçois un bon message "Strashed Strashed de la suivante" qui remplit automatiquement avec tous les messages de validation de la branche des fonctionnalités . p>
3 Réponses :
Rien n'est vraiment perdu avec Git. La liste des commits sur la branche de fonctionnalité peut être obtenue à l'aide de:
git cherry feature-branch | cut -f2 -d' ' | git cat-file --batch
Cela ne répond pas directement à votre question, mais vous devriez être capable d'éviter le conflit en premier lieu.
Pensez à faire un P>
git rebase master topic
Vous n'auriez certainement pas besoin d'une fusion de courge à ce point - ce serait un avantage rapide.
Oui, vous pouvez récupérer le message Squash commetter. Il est stocké dans .git / squash_msg.
Vous pouvez l'utiliser comme modèle avec la commande suivante: p>
Pour une raison quelconque, cela ne fonctionnait pas directement pour moi, mais merci pour le pointeur de .git / squash_msg code> :)
J'ai couru la commande git commit -file .git / squash_msg code> et il a créé la liste des messages de validation tous les engagements dans le COMTT SQUASHED.
Pourquoi la courge du tout? Vous pouvez simplement utiliser
rebase --interacactive code> pour nettoyer, si vous considérez vos commentaires comme trop fréquents et désordonnés, puis faites une fusion normale - de cette façon que vous ne perdez pas l'histoire.