Pregunta git - Tu rama está por delante de 'origin / master' por 1 commit


Soy novato en git y estoy trabajando en git.

Agregué algunos archivos en git:

git add <file1>
git add <file2>

luego quise insistir en eso para su revisión, pero equivocadamente lo hice

git commit

entonces los archivos que he cambiado no son revisados.
Ahora si ingreso el comando:

git status

dice

# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)

Quiero revertir esa confirmación y quiero enviar esos archivos para su revisión en lugar de confirmarlos. ¿Alguien me puede decir cómo puedo hacer eso?


73
2018-04-16 06:00


origen


Respuestas:


No puedes empujar nada que no se haya cometido aún. El orden de las operaciones es:

  1. Haz tu cambio
  2. git add - esto etapas tus cambios para cometer
  3. git commit - esto compromete tus cambios escenificados localmente
  4. git push - esto empuja tus cambios comprometidos a un control remoto

Si empuja sin comprometerse, no se empuja nada. Si comprometes sin agregar, no se compromete nada. Si agrega sin cometer nada, no pasa nada, git simplemente recuerda que los cambios que agregó deben ser considerados para la siguiente confirmación.

El mensaje que está viendo (su sucursal está adelantada por 1 compromiso) significa que su repositorio local tiene una confirmación que aún no se ha enviado.

En otras palabras: add y commit son operaciones locales, push, pull y fetch son operaciones que interactúan con un control remoto.

Como parece que hay un flujo de trabajo de control de fuente oficial en el lugar donde trabaja, debe preguntar internamente cómo debe manejarse.


102
2018-04-16 06:06



git reset HEAD^ --soft (Guarde sus cambios, de vuelta al último commit)

git reset HEAD^ --hard (Descartar cambios, volver al último commit)


38
2018-04-16 06:06



Si solo quieres descartar los cambios y volver al último commit (el que querías compartir):

git reset --hard HEAD~

Es posible que desee comprobar para asegurarse de que quiere esto (git log), porque perderá todos los cambios.

Una alternativa más segura es correr

git reset --soft HEAD~ # reset to the last commit
git stash              # stash all the changes in the working tree 
git push               # push changes 
git stash pop          # get your changes back 

22
2018-04-16 06:04



Resolví esto simplemente ejecutando un simple:

git pull

Nada mas. Ahora está mostrando:

# On branch master
nothing to commit, working directory clean

16
2017-07-31 21:44



git reset HEAD ^

entonces los archivos modificados deberían aparecer.

Podrías mover los archivos modificados a una nueva rama

uso, git checkout -b newbranch git checkout commit -m "archivos modificados" git push origen newbranch

GIT Checkout Master

entonces deberías estar en una rama limpia, y tus cambios deberían almacenarse en nueva rama. Más adelante, simplemente fusionar este cambio en la rama principal


4
2018-01-19 09:28



git reset HEAD <file1> <file2> ...

eliminar los archivos especificados de la siguiente confirmación


3
2018-04-16 06:03