tipos - ¿qué hace git log-oneline?
Se rechazaron las actualizaciones de Git que no eran de avance rápido. Combinar los cambios remotos. (4)
¿Cómo resuelvo este problema? Estoy tratando de comprometerme pero me sale el siguiente error.
git push origin monty_svm_dev
To [email protected]: ! [rejected] monty_svm_dev -> monty_svm_dev
(non-fast-forward) error: failed to push some refs to
''[email protected]:/mygit.git'' To prevent you from losing history,
non-fast-forward updates were rejected Merge the remote changes before
pushing again. See the ''Note about fast-forwards'' section of ''git
push --help'' for details. root@li409-202:~/mypath#
Básicamente porque cuando
git pull
Desde una sucursal, se realizan dos operaciones de búsqueda y fusión. Ahora, si su local tiene algunos cambios, entonces git no le permitirá presionarlo antes de confirmar los cambios.
Además, este problema aparece si el control remoto tiene cambios que aún no se activan de forma local y se combinan, por lo que debe volver a intentarlo y luego presionarlo. Responde si no resuelve el problema
Este problema surge cuando el usuario se olvida de emitir el comando git push
después del comando git commit
. Cuando utilice git, asegúrese siempre de los pasos básicos.
En un ciclo ideal mientras trabaja con git, compruebe siempre que los siguientes comandos de git se usaron secuencialmente en el siguiente orden:
git pull
git add
git commit
git push
Personalmente evito la mayoría de los problemas publicados sobre git en la pila, porque siempre cuento mis actividades de comando de git con la secuencia anterior.
Creé un acrónimo para asegurarme de no olvidarlo. Espero que lo mismo pueda ser útil para el lector, que es:
pacp (léalo como: pack push where (p = git push, a = git add, ck = git commit, push = git push).
Mi manera de memorizar el git push, add, commit, pull es:
obtener paquete push (que significa: git el paquete y luego push).
En resumen, recuerde "git" el paquete y luego "empujar".
Resolviendo los problemas: me gustaría agregar mis comandos git de recuperación más usados que son:
git checkout -- path/to/file/fileName.something #undo changes in file
Lo anterior deshace los cambios en un archivo ... similar se puede aplicar a múltiples archivos usando * para nombre de archivo, de manera similar se puede aplicar a múltiples directorios separados por espacio.
git reset filename.txt
Lo anterior elimina el archivo de la etapa ... después de este comando podemos hacer git commit y git solo enviará los archivos en los que estamos en la etapa, lo que significa que el archivo "filname.txt" no se confirmará.
git pull origin your_intended_branch
Los cambios se combinan con los más recientes de your_intended_branch, esto básicamente fusiona el cambio que cometió pero no presionó. Una vez que todo va bien, simplemente haz el empuje:
git push
Hacer un tirón Git. Luego, traerá los cambios de código recientes en la sucursal remota a su local. entonces eres capaz de empujar tus cambios.
hacer git pull origin monty_svm_dev
primero
Lo que sucedió es que el control remoto tiene cambios más recientes que su sucursal.
Por lo tanto, antes de que pueda push
sus cambios, primero debe obtener y combinar los cambios en el control remoto.
Puedes hacerlo haciendo un git checkout your_branch
, luego:
git fetch origin your_branch
y luego un
git merge your_branch
o
git pull origin your_branch # fetch and merge in one operation
Donde tu rama es maestra, o el nombre de tu rama (parece ser monty_svm_dev
en tu caso, creo)
Una vez hecho esto (y resuelto cualquier conflicto) puede hacer un git push origin monty_svm_dev