Saltar al contenido

git rebase –continue y –stepback?

Agradecemos tu ayuda para compartir nuestras reseñas en referencia a las ciencias informáticas.

Solución:

Sí hay. Cómo retroceder durante un rebase interactivo:

  1. Obtenga el hash de confirmación de su HEAD actual, por ejemplo con git rev-parse HEAD
  2. correr git rebase --edit-todo
  3. inserte una selección con ese hash en la parte superior de ese archivo pick
  4. correr git reset --hard HEAD^

Ahora todavía está en el rebase, pero se confirma y puede continuar con el rebase.

  1. git rebase --continue.

Si no desea que la confirmación deshecha se recoja directamente sin modificaciones, puede agregar edit en vez de pick a la lista de tareas pendientes (paso 3).

Anexo: puede recordar más hashes, restablecer a un punto anterior y agregar múltiples selecciones para rehacer más de una confirmación.

Idea de: http://arigrant.com/blog/2014/5/4/git-rebase-stepping-forward-and-back

No, como dijo Magnus.

Sin embargo,

  • git-rerere podría acercarse a lo que desea de alguna manera: si hubo resoluciones de conflictos manuales anteriores que no quería perder, puede habilitar rerere (resoluciones de conflictos pregrabadas) para que se resuelvan automáticamente de la misma manera en fusiones posteriores. Tenga en cuenta que esto significa que tendrá que recordar qué parte desea resolver de manera diferente la próxima vez (¿presumiblemente el objetivo de tener un paso atrás en primer lugar?) Porque, bueno, rerere asume que desea aplicar la misma resolución nuevamente. .

Si observa la implementación de rebase, es posible que pueda encontrar configuraciones alternativas para GIT_WORK_TREE/GIT_DIR/GIT_INDEX; Entonces, tal vez podría usar comandos de plomería con un reflog para la rebase en progreso branch?

  • esto lo lleva a las profundidades internas no documentadas (más allá de la plomería)
  • también podría proponer un parche para reorganizar que implementa --step-back

En realidad, puedes incluso si no estás haciendo una reorganización interactiva.

Como mencionó johnb003 en su comentario, al reorganizar, en realidad estás realizando una serie de confirmaciones nuevas. Al hacer algo como git log --pretty=oneline --abbrev-commit, puede ver fácilmente todas las confirmaciones que ya ha realizado a través de la reorganización. Simplemente copie sus hashes para una fácil referencia más adelante.

Entonces git rebase --abort, git rebase -i copie los valores hash que desea conservar, posiblemente cámbielos a edit si desea modificar alguno de ellos, y continuar

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *