0

Tenemos en la empresa un repositorio creado donde todos vamos subiendo los proyectos que tenemos, de tal forma que mediante permisos de contribución solo podemos trabajar en los repositorios que se nos asignen.

Esta mañana hemos hecho la prueba en un repositorio de volver atrás en el tiempo con git reset --hard (HASH_DEL_COMMIT_DESEADO) y a continuación git push -f origin master. En mi ordenador, que es donde hice la regresión todo se ha hecho correctamente, pero a él no se le aplica el cambio.

Cuando hace un pullpara bajarse esa regresión, no le hace nada. Su repositorio local sigue estando en el anterior estado.

¿Qué está fallando?

lk2_89
  • 597
  • 7
  • 22
  • el `git push -f origin master` te va a traer el ultimo commit – JackNavaRow Dec 18 '18 at 12:14
  • 1
    si quieres traerte un commit en especifico usa `git checkout tu_commit` – JackNavaRow Dec 18 '18 at 12:15
  • En el siguiente [link](https://es.stackoverflow.com/questions/226164/c%C3%B3mo-revertir-el-%C3%BAltimo-commit-a-master/226272#226272) encontraras una respuesta detallada a tu problema. – vifrac Jan 02 '19 at 05:38

3 Answers3

1

No va a poder hacer pull, ya que las historias son diferentes, al hacer el reset --hard se vuelve para atrás en la historia, no se agrega un commit por delante, por lo que su master está más adelante que el master del repositorio remoto, va a tener que borrar la rama y recién ahí va a poder hacer el pull.

Si tiene cambios pendientes que use git stash para guardarlos.

ramirozap
  • 641
  • 5
  • 11
  • ¿Y hay alguna manera de haces esto que queremos de forma correcta? Es decir, tener la posibilidad de volver a un commit anterior y que al confirmar nos salga a los dos por igual. – lk2_89 Dec 18 '18 at 12:07
  • Probá con `git read-tree -u --reset ` – ramirozap Dec 18 '18 at 12:32
0

Has probado listar los commits con git log --reflog y luego subir.

esto hace que enumera todas las confirmaciones de git simulando que todos los objetos mencionados por reflogs (git reflog) están listados en la línea de comando como .

Jeanpierre Rivas
  • 338
  • 1
  • 13
0

Debes tener en cuenta lo siguiente:

  1. Obtener los hash ids de los últimos commits.
  2. Retornar al commit deseado.
  3. Enviar los cambios al repositorio.
  4. Actualizar repositorios.
vifrac
  • 99
  • 9
  • En el siguiente [link][1] encontrarás una respuesta detallada a tu problema. [1]: https://es.stackoverflow.com/questions/226164/c%C3%B3mo-revertir-el-%C3%BAltimo-commit-a-master/226272#226272 – vifrac Jan 02 '19 at 05:44