Antes que nada, Git apesta. Lo sé, lo sé, se supone que es lo mejor desde el pan en rebanadas, pero apesta. Es como intentar afeitarse con una motosierra: un pequeño error y hay sangre y dientes en todas partes. Quizás, si pudiera hacer una distinción exacta entre una cabeza, un ref, un compromiso, una rama, un tallo, un gnargel y un whizpoo, algo de esto podría ser un poco más fácil, pero para un mortal ordinario con solo 10 años experiencia de SVN, Perforce y RCS, todo parece una magia negra bastante irritable.Deshacer una mala extracción
Ahora por alguna razón, git pull
nunca funcionó para mí. Recibo un mensaje de error de 10 líneas que, hasta ahora, ha sido tan útil como la palabra "error". Buscar en Google el mensaje de error produjo una amplia gama de sugerencias que solo tenían en común el hecho de que no tenían ningún efecto aparente en absoluto. Pero ese no es el problema de hoy: me he acostumbrado a escribir git pull origin branch
.
Hoy, estaba pasando de una a otra rama, "master" y "lounge", y en este momento estaba en la rama master. Quería obtener los últimos cambios del repositorio remoto al local, pero lo escribí mal. En lugar de escribir git pull origin master
, escribí git pull origin lounge
y luego, sin pensarlo, escribí el comando correcto.
No hay evidencia de los primeros (malo) Tirando de registro, a sólo dos fusiones del maestro:
commit 0c6be9569bab0581244ea8603bf2edfee82cdd7b
Merge: 43fdec5... db09f0d...
Author: Malvolio <[email protected]>
Date: Wed Nov 24 20:38:58 2010 -0500
Merge branch 'master' of github.com:xcompanyx/xRepositoryX
commit db09f0d79d744d6a354142041b47ff5d748999f3
Merge: 81b6c3d... fc73e25...
Author: Malvolio <[email protected]>
Date: Wed Nov 24 17:38:16 2010 -0800
Merge branch 'master' of github.com:xcompanyx/xRepositoryX
commit 81b6c3d04b7c464f8750a56282635526a5ef83a1
Author: Michael <[email protected]>
Date: Wed Nov 24 17:38:07 2010 -0800
the last commit I did
Pero los archivos recién creados en la rama salón hay en mi repositorio.
Así que ahora estoy fscked, ¿verdad? ¿Debería encender mi repositorio, volver a clonar el control remoto, volver a aplicar manualmente todos los cambios no utilizados y apuntarlo a Git chupar o hay algún conjuro que pueda recitar que lo haga todo mejor? ¿Ayudaría si sacrificara una cabra?
@Robert - Pero entonces no me gustaría tener una risa tan agradable. –
Y, para el problema original, decidí experimentar con la posibilidad cuando decía "Merge branch 'master'" realmente significaba "Merged [alguna rama desconocida y sin nombre] [con la rama actual, que, como saben, es named] 'maestro' ". Intenté hacer un restablecimiento completo a 81b6. Eso pareció funcionar (aunque, curiosamente, la siguiente extracción del origen recuperado algunos archivos cambió mucho antes) pero como con todo lo demás, Git, tengo que cruzar los dedos. – Malvolio
Me encantaría tratar de ayudarte, pero pasaste la mitad de tu publicación atacando el SCM al que me estás preguntando cómo usarlo, y no proporcionaste información suficiente para responder a tu pregunta. ¿De verdad quieres ayuda, o solo para despotricar? – Cascabel