Veuillez entrer un message de propagation pour expliquer pourquoi cette fusion est nécessaire, surtout si elle fusionne une mise à jour en amont dans une branche de sujet.

j'utilise Git. J'ai fait un tirage à partir d'un rapport à distance et j'ai reçu un message d'erreur:

"veuillez entrer un message de commit pour expliquer pourquoi cette fusion est nécessaire, surtout si elle fusionne une mise à jour en amont dans une rubrique direction."

j'essaie de taper un message et j'appuie sur pour entrer mais rien ne se passe.

Comment dire à Git / terminal que j'en ai fini de taper message?

j'utilise un terminal sur OS X.

306
demandé sur K.Dᴀᴠɪs 2013-09-30 06:57:00
la source

7 ответов

ce n'est pas un message d'erreur Git, c'est l'éditeur car git utilise votre éditeur par défaut.

Pour résoudre ce problème:

  1. appuyez sur "i"
  2. écrivez votre message de fusion
  3. , appuyez sur "esc"
  4. écrire ":wq"
  5. puis appuyez sur enter
727
répondu Saad.elzwawy 2018-04-03 17:39:40
la source

en fait ce n'est pas une erreur! Cela signifie que vous devez entrer un message pour marquer cette fusion. Mon OS est Ubuntu 14.04.Si vous utilisez le même OS, vous avez juste besoin de le faire comme suit:

  1. tapez un message

  2. Ctrl C O

  3. tapez le nom du fichier (tel que "Merge_feature01") et appuyez sur Entrée

  4. Ctrl X à la sortie

maintenant si vous allez à .git et vous trouverez le fichier "Merge_feature01", c'est la fusion du journal de fait.

30
répondu xiaohu Wang 2018-03-30 23:16:12
la source

tl;dr Jeu de l'éditeur à quelque chose de plus sympa, comme le Sublime ou Atom

Ici gentil est utilisé dans le sens d'un éditeur, vous comme ou trouver plus user friendly .

le problème sous-jacent est que Git utilise par défaut un éditeur qui est trop peu intuitif pour être utilisé par la plupart des gens: Vim. Maintenant, ne vous méprenez pas, j'aime Vim, et pendant que vous pourriez mettre un peu de temps de côté (comme un mois) pour apprendre Vim et essayer de comprendre pourquoi certains pensent que Vim est le plus grand éditeur existant, il y a une façon plus rapide de résoudre ce problème: -)

la solution n'est pas de mémoriser les commandes cryptiques , comme dans la réponse acceptée, mais de configurer Git pour utiliser un éditeur que vous aimez et comprenez! Il est vraiment aussi simple que la configuration de l'une de ces options

  1. la configuration de Git core.editor (per projet, ou à l'échelle mondiale)
  2. le VISUAL ou EDITOR variable d'environnement (cela fonctionne pour d'autres programmes)

je vais couvrir la première option pour quelques éditeurs populaires, mais GitHub a un excellent guide sur ce pour de nombreux éditeurs ainsi.

À l'utilisation de l'Atome

droit de son docs , entrez ceci dans un terminal: git config --global core.editor "atom --wait"

git normalement attendre la fin de la commande editor, mais puisque Atom bifurque vers un processus de fond immédiatement, cela ne fonctionnera pas, à moins que vous ne lui donniez l'option --wait .

pour utiliser le texte Sublime

pour les mêmes raisons que dans le cas de L'atome, vous avez besoin d'un drapeau spécial pour signaler au processus qu'il ne devrait pas bifurquer vers l'arrière-plan:

git config --global core.editor "subl -n -w"

12
répondu oligofren 2018-05-01 13:01:24
la source

Juste,

CTRL + X

CTRL + C

il vous demandera de sauvegarder le fichier, appuyez sur Y , puis vous avez terminé.

6
répondu Mandeep Singh 2018-05-10 15:32:48
la source

au lieu de cela, vous pouvez git Ctrl Z et rejouer la propagation mais cette fois ajouter "-m " avec un message entre guillemets après lui, alors il va commettre sans vous inciter avec cette page.

3
répondu hgrov52 2018-03-30 23:16:42
la source

Voici vous demandant un message qui se connecte avec votre Fusion pour référence future pourquoi vous avez fait cette fusion.

press "i"
on top above on #lines write your message
press "esc" button
write ":wq" (it will write in bottom automatically)
press enter
2
répondu Vivek Singh 2018-05-14 11:05:12
la source

étant donné que votre dépôt local n'a que peu d'options de propagation, git essaie de fusionner votre périphérique distant avec votre fichier repo local. Cela peut être traité via la fusion, mais dans votre cas, peut-être que vous cherchez rebase, c'est-à-dire ajouter votre commit au sommet. Vous pouvez le faire avec

git rebase ou git pull --rebase

voici un bon article expliquant la différence entre git pull et git pull --rebase .

https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase /

1
répondu Ankush Jain 2018-06-08 09:25:10
la source

Autres questions sur git macos git-commit git-merge git-commands