Compromisos ya iniciados pero que aún permanecen en el repository local

Soy nuevo en Git. He presionado y fusionado con éxito dos commits. Pero cuando miro el estado de git, todavía dice que

$ git status # On branch master # Your branch is ahead of 'origin/master' by 2 commits. # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # Untracked files: # (use "git add <file>..." to include in what will be committed) no changes added to commit (use "git add" and/or "git commit -a") 

Salida después de git push ( *** es la dirección del server Git de la compañía, que se ignora a continuación):

 $ git push Total 0 (delta 0), reused 0 (delta 0) remote: Processing changes: refs: 1, done To ssh://*** ! [remote rejected] master -> refs/for/master (no new changes) error: failed to push some refs to 'ssh://***' 

¿Alguien sabe por qué?

El post de error que menciona a refs/for/master sugiere que está presionando al server de revisión de código de Gerrit . Si bien Gerrit es un server Git totalmente compatible, tiene reglas especiales a seguir.

Consulte la documentation de Gerrit sobre cómo presentar correctamente las revisiones de código .

Probablemente, una mejor idea sería preguntarle al administrador de Git / Gerrit de su empresa cómo cargar sus confirmaciones de manera adecuada.

En cualquier caso, tenga en count que los cambios que cargue en Gerrit no se convertirán en oficiales (y no moverán el origin/master twig origin/master ) hasta que sean aprobados por alguien que utilice la interfaz web de Gerrit.

Una vez aprobado en Gerrit, debería poder ver los cambios cuando git fetch (o repo sync ) la próxima vez.

Solo lea el rest de la publicación. El problema es uno de dos:

  1. Hay files no comprometidos o no agregados *

    Cuando se crea un nuevo file y usted confirma @ la línea de command, no los agrega automáticamente como lo hace en la interfaz de usuario de git extensiosn. Necesita agregar todos (o algunos) es decir, agregar git –todos (o alguna ruta y file (s))

  2. Su repository local no está sincronizado con el control remoto (origen). Busque y combine o tire antes de empujar. (Si tiene files que no han sido agregados y le impiden realizar una fusión, obtendrá otro error. Solo asegúrese de que se hayan agregado todos los files, luego fusione desde el origen y todos deberían funcionar)