16 votes

Git Commit après la fusion ouvre le VIM

J'ai fusionné deux fichiers et j'essaie maintenant de les valider, mais VIM s'ouvre avec les données suivantes et je suis complètement perdu. (Je n'ai aucune expérience avec VIM)

Merge branch 'master' of nodester.com:/node/git/lolcoder/****-******

Conflicts:
        .gitignore
        server.js
#
# It looks like you may be committing a merge.
# If this is not correct, please remove the file
#       .git/MERGE_HEAD
# and try again.

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#   
#       .project
~                                                                               
~                                                                               
~                                                                               
".git/COMMIT_EDITMSG" 19L, 521C                               1,1           All

Que dois-je faire à partir de là ?

Voici le scénario :

J'avais un projet node.js sur github, maintenant j'essaie de le pousser vers le repo git de nodester (donc j'ai maintenant 2 remotes pour mon projet). Mais avant de pouvoir pousser vers nodester, j'avais besoin de corriger 2 fichiers qui étaient en conflit avec ceux générés par nodester pour moi. J'ai résolu les conflits avec git merge -y et maintenant je veux m'engager puis pousser.

Voici l'erreur que je reçois lorsque j'essaie de pousser vers nodester :

Nodester!
To git@nodester.com:/node/git/lolcoder/****-**************.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@nodester.com:/node/git/lolcoder/****-************.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

17voto

mattbornski Points 2226

Git ouvre vim parce que votre variable d'environnement EDITOR est définie sur vim, et Git pense que vous devez fournir un message commit pour l'opération de fusion, donc il ouvre un éditeur pour que vous en tapiez un.

Vous pouvez corriger cela en changeant la variable EDITOR de votre environnement pour quelque chose que vous préférez, ou en fournissant un argument --message "ceci est mon message de commit" après git merge -y

5voto

Sergio Basurco Points 2138

Si ce que vous voulez c'est effectuer la fusion et éviter d'ouvrir un éditeur de texte, vous pouvez ajouter --no-edit à votre commande de fusion pour qu'elle n'ouvre pas l'éditeur pour le message de livraison.

2voto

fwuensche Points 923

Si vous souhaitez vous passer totalement de l'éditeur de texte et utiliser le message de fusion par défaut à la place, ajoutez simplement la ligne suivante dans votre fichier .bash_profile , .bashrc o .zshrc fichier :

export GIT_MERGE_AUTOEDIT=no

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X