revertir - retroceder un git pull
Git deshacer intento de fusión (3)
Con Git 2.10 (Q3 2016), sabrá qué hacer, ya que git status
propondrá la opción git merge --abort
.
Ver commit b0a61ab (21 de julio de 2016) por Matthieu Moy ( moy
) .
(Combinado por Junio C Hamano - gitster
- in commit 5a2f4d3 , 03 de agosto de 2016)
status
: sugiera ''git merge --abort
'' cuando sea apropiadoYa sugerimos ''
git rebase --abort
'' durante un rebase en conflicto.
De forma similar, sugiera ''git merge --abort
'' durante la resolución de conflictos en ''git merge
''.
Tengo un directorio de trabajo (# 1) que tiene un directorio de proveedores (# 2). Hay una dependencia que quería extraer manualmente sin el compositor (versión php de npm / gem). Estaba trabajando en el # 1, no he guardado / cometido cambios, cuando decidí que quiero actualizar la biblioteca en el # 2. Navegué al proveedor / myname, y lo hice git pull repositorio.
Desafortunadamente, comenzó a tirar y fusionarse con el # 1, en lugar de crear un nuevo directorio en la carpeta del proveedor.
Ahora tengo:
- Carpeta # 1 con mis cambios.
- Carpeta # 1 con archivos que no quiero del repositorio incorrecto
- # 1 fusiona conflictos como composer.json, Readme.md ... (archivos generales)
Quiero "deshacer" este último git pull sin perder los cambios que hice en la carpeta # 1. ¿Cómo puedo hacer esto?
Git moderno:
git merge --abort
Más viejo:
git reset --merge
Old-school (advertencia: descartará todos los cambios locales):
git reset --hard
Pero en realidad, vale la pena notar que git merge --abort
solo es equivalente a git reset --merge
dado que MERGE_HEAD
está presente. Esto se puede leer en la ayuda de git para el comando de combinación.
git merge --abort is equivalent to git reset --merge when MERGE_HEAD is present.
Después de una fusión fallida, cuando no hay MERGE_HEAD
, la fusión fallida se puede deshacer con git reset --merge
pero no necesariamente con git merge --abort
, por lo que no solo son sintaxis antigua y nueva para la misma cosa . Personalmente, encuentro que git reset --merge
mucho más útil en el trabajo diario.
git merge --abort
puede ser lo que estás buscando.