Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.
Versión del artículo: Enterprise Server 2.15

Esta versión de GitHub Enterprise se discontinuará el Esta versión de GitHub Enterprise se discontinuó el 2019-10-16. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Acerca del cambio de base de Git

El comando git rebase te permite cambiar fácilmente una serie de confirmaciones, modificando el historial de tu repositorio. Puedes reordenar, editar o combinar confirmaciones.

Generalmente, usarás git rebase para:

Advertencia: Como cambiar el historial de tu confirmación puede hacer las cosas difíciles para todos los que usan el repositorio, se considera una mala práctica cambiar de base las confirmaciones cuando ya las subiste a un repositorio. Para aprender cómo cambiar de base de forma segura en tu instancia de servidor de GitHub Enterprise, consulta "Acerca de las fusiones de solicitud de extracción".

Cambiar de base las confirmaciones con una rama

Para cambiar de base todas las confirmaciones entre otra rama y el estado de rama actual, puedes ingresar el siguiente comando en tu shell (ya sea el símbolo del sistema para Windows o la terminal para Mac y Linux):

$ git rebase --interactive other_branch_name

Cambiar de base las confirmaciones en un momento específico

Para cambiar de base las últimas confirmaciones en tu rama actual, puedes ingresar el siguiente comando en tu shell:

$ git rebase --interactive HEAD~7

Comandos disponibles mientras se cambia de base

Hay seis comandos disponibles mientras se cambia la base:

pick
pick simplemente significa que la confirmación está incluida. Reordenar los comandos pick cambia el orden de las confirmaciones cuando el cambio de base está en progreso. Si eliges no incluir una confirmación, debes eliminar la línea completa.
reword
El comando reword es similar a pick, pero después de usarlo, el proceso de cambio de base se pausará y te dará una oportunidad de alterar el mensaje de confirmación. Cualquier cambio hecho por la confirmación no se ve afectado.
edit
Si eliges edit una confirmación, se te dará la oportunidad de modificar la confirmación, lo que significa que puedes agregar o cambiar la confirmación por completo. También puedes realizar más confirmaciones antes de continuar con el cambio de base. Esto te permite dividir una confirmación grande en otras más pequeñas o eliminar cambios erróneos hechos en una confirmación.
combinar
Este comando te permite combinar dos o más confirmaciones en una única confirmación. Una confirmación se combina en la confirmación de arriba. Git te da la oportunidad de escribir un mensaje de confirmación nuevo describiendo ambos cambios.
fixup
Esto es similar a squash, pero se descarta el mensaje de la confirmación que se fusiona. La confirmación simplemente se fusiona en la confirmación de arriba y el mensaje de la confirmación anterior se usa para describir ambos cambios.
exec
Esto te permite ejecutar comandos shell de forma arbitraria con una confirmación.

Un ejemplo del uso de git rebase

Sin importar qué comando uses, Git iniciará tu editor de texto predeterminado y abrirá un archivo que detalla las confirmaciones en el rango que has elegido. Ese archivo se ve así:

pick 1fc6c95 Patch A
pick 6b2481b Patch B
pick dd1475d something I want to split
pick c619268 A fix for Patch B
pick fa39187 something to add to patch A
pick 4ca2acc i cant' typ goods
pick 7b36971 something to move before patch B

# Cambiar de base 41a72e6..7b36971 a 41a72e6
#
# Commandos:
#  p, pick = usar la confirmación
#  r, reword = usar la confirmación, pero editar el mensaje de confirmación
#  e, edit = usar la confirmación, pero detenerse para correcciones
#  s, squash = usar la confirmación, pero unirla con la confirmación anterior
#  f, fixup = como "squash", pero descartar el mensaje de registro de esta confirmación
#  x, exec = ejecutar comando (el resto de la línea) usando shell
#
# Si eliminas una línea aquí, ESA CONFIRMACIÓN SE PERDERÁ.
# Sin embargo, si eliminas todo, este cambio de base será interrumpido.
#

Desglosando esta información, de principio a fin, vemos que:

Leer más

Pregunta a una persona

¿No puedes encontrar lo que estás buscando?

Contáctanos