2012-02-08 16 views
13

Hice una combinación de 2 archivos y ahora estoy tratando de confirmar pero abre VIM con la siguiente información y ahora estoy completamente perdido. (No tengo experiencia con VIM)Git Commit después de la fusión abre 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 

¿Qué hago desde aquí?

Aquí está el panorama:

tenía un proyecto Node.js en github, ahora estoy tratando de empujar a este repositorio git de nodester (por lo que ahora tengo 2 mandos a distancia para mi proyecto). Pero antes de poder presionar a nodester, necesitaba arreglar 2 archivos que estaban en conflicto con los generados en nodester por mí. Resolví los conflictos con git merge -y y ahora quiero confirmar y luego presionar.

Este es el error que consigo al intentar empujar a nodester:

Nodester! 
To [email protected]:/node/git/lolcoder/****-**************.git 
! [rejected]  master -> master (non-fast-forward) 
error: failed to push some refs to '[email protected]:/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. 
+0

Esto no tiene nada que ver con node.js o nodster por favor solo use las etiquetas apropiadas. En este caso GIT. – thenetimp

+0

Creo que esta es una característica "mala" de git. Simplemente hace que sea menos automatizado. Y tengo que ajustar el comando git para automatizarlo nuevamente. - El mensaje "guardar" 'funciona para mí. –

Respuesta

13

Git está abriendo vim porque su entorno EDITOR variable se establece en vim, y Git cree que necesita para proporcionar un mensaje de confirmación para el fusionar operación, por lo tanto, está abriendo un editor para que escriba uno.

Puede solucionar esto cambiando la variable EDITOR de su entorno a algo que prefiera, o proporcionando un mensaje --mensaje "este es mi mensaje de confirmación" después de git merge -y

+0

Hice 'git commit -" message "' –

+0

Cuál es el valor predeterminado para la variable EDITOR, esto no me pasó antes y me gustaría volver al comportamiento predeterminado. – Leito

+0

El valor predeterminado varía de un sistema a otro. No tengo idea de lo que fue el tuyo antes. Si no cambiaste permanentemente la variable EDITOR (en tu .bashrc o similar), entonces probablemente solo puedas abrir una nueva terminal y volver a la normalidad. – mattbornski

2

Si lo que desea es realizar la fusión y evitar abrir cualquier editor de texto, puede agregar --no-edit a su comando de fusión para que no abra el editor para el mensaje de confirmación.