Si vous êtes un ingénieur DevOps ou que vous travaillez sur un dépôt git, alors "Veuillez saisir un message de validation pour expliquer pourquoi cette fusion est nécessaire " est l'erreur courante que vous obtenez en travaillant. Dans cet article, je vais vous expliquer pourquoi cette erreur se produit, comment la corriger et des suggestions à son sujet.
Pourquoi git m'a demandé "Veuillez entrer un message de validation pour expliquer pourquoi cette fusion est nécessaire" ?
Il y a des raisons spécifiques pour lesquelles git pull nous demande d'écrire un message de fusion. Je voudrais commencer par une citation de Linus Torvalds -
Ci-dessousmentionnés sont les raisons , ce qui peut entraîner un message de validation Git avertissement -
- Lorsque vous transférez des modifications de git vers votre développement local
- Vous avez récemment mis à jour votre client git
- Votre configuration git a été modifiée récemment
- Vous n'avez jamais eu de succursale locale qui était en avance sur la télécommande auparavant
Comment corriger l'avertissement "Veuillez saisir un message de validation pour expliquer pourquoi cette fusion est nécessaire".
Suivez l'une de ces deux solutions, en fonction de ce que vous essayez d'accomplir ?
Solution-1 Si vous souhaitez fusionner, puis quittez votre éditeur par défaut
Si vous recevez le message "Veuillez entrer un message de validation pour expliquer pourquoi cette fusion est nécessaire" et que vous souhaitez fusionner, suivez les solutions ci-dessous en fonction de votre éditeur pour y remédier.
Pour les utilisateurs de l'éditeur vi ou vim sous Linux -
L'éditeur par défaut est vi ou vim sous Linux, si vous ne l'avez pas modifié git config commande. Suivez ces étapes simples pour fusionner en fonction de votre éditeur -
- Appuyez sur "i " sur votre clavier, tapez votre "Fusionner " commentaires ou message
- Appuyez sur "Échap bouton " de votre clavier
- Enregistrez et quittez en tapant :wq depuis votre éditeur Vi ou Vim
Alternativement,
si vous ne voulez pas envoyer de message de fusion , vous pouvez simplement appuyer sur "Échap " sur votre clavier puis shift + ZZ pour enregistrer et quitter l'éditeur rapidement.
Pour les utilisateurs nano ou Pico sous macOS -
Si vous utilisez nano ou pic éditeur dans macOS ou peut-être dans WSL (Windows Subsystem for Linux) puis exécutez la commande suivante -
- Appuyez sur CTRL + X
- Puis CTRL + C
- Appuyez sur "Y" pour enregistrer votre fichier.
Si vous souhaitez changer l'éditeur git par défaut par exemple. de vi/vim à nano exécutez le commande suivante -
git config --global core.editor "nano"
Solution-2 Si vous ne voulez pas fusionner et que vous voulez quitter sans fusionner .
Donc, si vous obtenez l'erreur de fusion git suivante encore et encore -
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
et vousne voulez pas fusionner et que vous voulez dire la vérité, le processus est un peu délicat. Suivez simplement les étapes fournies -
Pour les utilisateurs de l'éditeur vi/vim ou nano
- Suspendez d'abord l'éditeur vi/vim ou nano en appuyant sur ctrl + z sur votre clavier
- Notez le Pid (ID de processus) ou nom du processus . par exemple. nano ou vi.
- Abandonner la fusion avec un git merge --abort commande
- Tuez le processus d'arrière-plan avec pkill -9 "nom du processus ". Par exemple
pkill -9 nano
oupkill -9 vi
. Vous recevrez un message, ce processus a été tué avec succès.
Veuillez noter, même si vous appuyez sur ESC puis sur :q ou :q ! pour quittervi ou vim éditeur sans enregistrer. Pourtant, cela entraîne la fusion . Il en va de même pour d'autres éditeurs comme nano . Si vous appuyez sur ctrl + x pour quitter, toujours la branche fusionnera . Assurez-vous donc de toujours suspendre et abandonner le processus pour éviter la fusion comme expliqué dans les étapes ci-dessus.
Suggestion – Fusion Git vs Rebase pour conserver un historique propre dans Git
Je vous ai indiqué la solution pour vous débarrasser de l'erreur "Veuillez entrer un message de validation pour expliquer pourquoi cette fusion est nécessaire". Mais je dois probablement vous dire que lorsque vous pouvez utiliser Git Merge et quand utiliser rebase pendant git pull .
Suivez ces règles d'or lorsque vous travaillez avec Git -
Règle 1 – Rebasez toujours lorsque vous transférez des modifications depuis l'origine/le développement vers votre développement local
Utilisez toujours l'option rebase, tout en extrayant les modifications de l'origine au lieu de simplement exécuter le git pull commande seule.
git pull --rebase
Pourquoi? parce que si vous tirez de l'origine et que vous n'avez apporté aucune modification à votre développement local, alors git pull et git pull --rebase sont identiques.
Mais si vous avez apporté quelques modifications à votre développement local qui n'ont pas encore été poussés. Aussi, vous voulez tirer tout changement qu'il vous manque par rapport à votre origine à votre développement local avant de pouvoir pousser. Un git pull régulier sans rebase l'option peut entraîner une fusion problèmes.
Règle 2 - Fusionner à la fin d'une fusion de branche de fonctionnalités revient à développer
Utilisez la commande suivante, lorsque vous avez apporté des modifications et que vous souhaitez fusionner les modifications pour développer
git merge