Agregar un archivo a una confirmación anterior
Si ya ha introducido la rama en la que está trabajando, consulte primero las páginas de manual . En particular, tenga en cuenta:
Rebasar (o cualquier otra forma de reescritura) una rama en la que otros han basado el trabajo es una mala idea: cualquiera que esté aguas abajo se ve obligado a corregir manualmente su historial.
Sin embargo, si no ha empujado su rama, prepárese para entrar en la zona de peligro .
Encuentra el hash de confirmación
Primero, necesita saber el hash de confirmación de la confirmación que desea agregar. Esto se muestra mediante git log. De hecho, desea especificar la confirmación antes de la que desea agregar. (Puede considerarlo como el índice de inicio del segmento de confirmaciones que desea modificar). Puede asegurarse de tener la confirmación correcta ejecutando git log -1 HEAD~n. Donde 'n' es un número entero que incrementa hasta que tenga la confirmación correcta. O podrías contar, no realmente.
Pero, si cuenta, al menos confirme que tiene el compromiso correcto con git log -1 HEAD~5o cualquiera que sea su conteo. NO debería ver la confirmación a la que desea agregar.
PELIGRO , je
Ahora estás listo para correr git rebase -i HEAD~5. O cualquiera que sea su hash de confirmación. Esto abrirá su editor de texto favorito y un archivo para editar. El archivo es la lista de tareas pendientes para el comando rebase. Los comentarios en el archivo le dicen qué opciones tiene. Simplemente busque la línea con la confirmación a la que desea agregar, y en esa línea cambie 'elegir' a 'editar'. Ahora guarde y cierre el archivo.
La rebase se detendrá una vez que alcance la confirmación que le dijo que editara. Ejecute a git statuspara ver la información adicional que proporciona. Organice sus archivos para agregarlos a la confirmación git add .o cualquiera que sea el nombre de archivo.
Entonces, hazlo git commit --amend. Esto modificará la confirmación que eligió editar.
Finalmente, corre git rebase --continue.
En caso de duda, en Linux puede obtener más información leyendo los documentos de salida de man git-rebaseo git --help rebase.