GitHub bloque le terminal mac lors de l'utilisation de la commande pull
je suis en train d'apprendre le github sur mac (ligne de commande) et chaque fois que je fais git pull origin master
je reçois ceci
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
".git/MERGE_MSG" 7L, 293C
le terminal semble verrouillé et ne me permet pas d'entrer quoi que ce soit immédiatement, puis quand il me permet finalement d'entrer du texte, il semble qu'il ne reconnaît pas les commandes git.
est-ce un bug dans git ou est-ce que je manque quelque chose?
8 réponses
Vous êtes dans l'éditeur de texte vim! C'est un modal éditeur de texte, donc vous auriez besoin de:
- Appuyez sur je entrer mode d'insertion .
- maintenant vous pouvez taper votre message, comme si vous étiez dans un normal (non modale) éditeur de texte.
- Appuyez sur esc pour revenir à mode de commande .
- Puis tapez
:w
suivi de entrez pour sauvegarder. - enfin
:q
suivi de inscrivez pour cesser de fumer.
l'éditeur ressemble à vim selon vos descriptions. Cette console vous dit simplement d'écrire un message pour la propagation que vous voulez faire, et c'est obligatoire comme ça.
-
tapez juste
i
et vous irez dans le mode-- INTER --
, maintenant vous pouvez écrire vos commentaires. -
après avoir écrit, appuyez sur
esc
dans votre clavier et vous passerez en mode commande. ( voir au bas de la console ) -
sauvegardez maintenant les modifications en écrivant
:w
suivi de la toucheenter
1519100920"
- vous pouvez arrêter maintenant en écrivant
:q
suivi deenter
clé
- Hourra! Enfin, vous êtes de retour sur la console principale.
exécuter cette commande
git config --global core.editor "gedit"
ajoutez votre message dans ce fichier et sauvegardez-le. Revenir tirer maintenant.
j'ai corrigé ce problème en exécutant les étapes suivantes
-
Remove #MERGE_MSG#
rm .git/\#MERGE_MSG#
-
Remove MERGE_HEAD
rm .git/MERGE_HEAD
de plus, j'ai explicitement placé l'éditeur de git dans un éditeur que je connais bien vim (vous pouvez définir nano )
`git config --global core.editor "vim"`
vous pouvez faire
git checkout --merge yourbranch
une fusion à trois entre la branche actuelle, le contenu de votre arbre de travail, et la nouvelle branche est faite, et vous serez sur la nouvelle branche.
les problèmes se produisent généralement quand on épelle mal quelque chose.
Il est plus probable que cette commande vous intéresse:
git commit -m "message"
s'il y avait un problème, il pourrait dire quelque chose comme
Your branch and 'origin/master' have diverged,
and have 2 and 1 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
et utilisation:
git pull
qui devrait conduire à:
Already up-to-date.
alors il est bon de vérifier:
git status
et essayer de pousser à nouveau:
git push