web-dev-qa-db-fra.com

Comment quitter une fusion Git demandant un message de validation?

J'utilise git. J'ai fait une fusion normale, mais elle continue de demander ceci:

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.

Et même si j'écris quelque chose, je ne peux pas sortir d'ici. Je ne trouve pas de documents expliquant cela. Comment dois-je faire?

25
Luca Reghellin

Cela dépend de l'éditeur que vous utilisez.

Si vim vous pouvez utiliser ESC et :wq ou ESC et Shift+zz. Les deux commandes enregistrent le fichier et quittent.

Vous pouvez également vérifier ~/.gitconfig pour l'éditeur, dans mon cas (cat ~/.gitconfig):

[user]
    name = somename
    email = [email protected]
[core]
    editor = vim
    excludesfile = /home/mypath/.gitignore_global
[color]
  ui = auto
  # other settings here
25
Зелёный

Je sais que cela peut être en retard, mais j'ai remarqué que cela ne se produit que si je fais un commit sur une branche qui est un peu plus à jour que la branche que je fusionne.

Image to help with understanding

Il s'avère que si je change une branche (c'est-à-dire que j'ajoute plus de fichiers à la branche) et que j'essaye d'y fusionner une autre branche, Git me demandera d'écrire un MERGE_MSG pour cette branche.

Dans cette image, cela montre que j'ai ajouté un fichier LICENCE dans master et un .gitignore fichier dans la branche npm-init.

Parce que master contient un nouveau fichier, LICENSE et npm-init ne le sait pas, Git m'a demandé d'écrire un message expliquant pourquoi je devrais le fusionner.

De même, j'ai fusionné add-eslint en add-dev avant J'ai fusionné les modifications dans install-deps.


Je sais que cela peut être difficile à comprendre (même pour moi au début), mais j'espère que l'image clarifie les choses :)

1
Edwin Pratt