Git es uno de los sistemas más comunes en la programación moderna. Es utilizado por casi todas las empresas que desarrollan y venden software profesional, ya que facilita mucho el seguimiento de los cambios en el código.
Mientras usa Git, simplemente no puede omitir los comandos Git Merge y Commit. Git Merge le permite adjuntar el código en el que ha estado trabajando a toda la sucursal. A menudo le sigue el comando Confirmar para guardar los cambios.
¿Pero puedes usar Merge sin el comando Commit? Este artículo te dará la respuesta.
NOTA : Si desea seguir este tutorial, debe tener al menos algo de experiencia en programación y debe estar familiarizado con los elementos básicos de Git.
Lo primero es lo primero
Antes de pasar a la parte principal del artículo, aclaremos los conceptos clave que necesitamos para este tutorial. Comenzaremos con Git Merge.
Git Merge es un comando que une dos o más historias de desarrollo. En otras palabras, este comando incorpora cambios de las nuevas confirmaciones en la rama que ya está almacenada en su repositorio de Git.
La sintaxis básica que puede usar para este comando se ve así:
git merge [-n] [–stat] [–no-commit] [–squash]
[-s <estrategia>] [-X <estrategia-opción>]
[- [no-] rerere-actualización automática] [-m <msg>] <cometer> …
git merge <msg> CABEZA <cometer> …
git merge –abort
El comando Git Merge se usa principalmente a través de Git Pull, que es otro comando Git que incorpora cambios desde un repositorio diferente. Puede ejecutar el comando manualmente cuando necesite fusionar cambios de una rama a otra.
La sintaxis básica utilizada principalmente para este comando se ve así:
git commit -m <message> // establece un mensaje de confirmación
git commit -a // incluye todos los archivos modificados en la confirmación actual
git commit –amend // reescribe la última confirmación
Por otro lado, el comando Git Commit sirve para guardar todos los cambios que ha realizado en el repositorio local.
Ilustraremos esto con un ejemplo.
Digamos que ha creado una nueva función de sucursal que simplemente se llama «nueva función». La característica se ramificará desde la rama maestra. Luego empujará una confirmación llamada «Terminado con la nueva función». Al mismo tiempo que presionó su confirmación, un colega suyo también presionó la suya llamada «Función de colega».
Si luego crea una solicitud de extracción, a través del método de extracción mencionado anteriormente, y su rama se fusiona, podrá ver una nueva confirmación de fusión llamada «Merge Branch new-feature» en su consola.
Como ha estado trabajando en GitHub, por ejemplo, verificará su historial de confirmaciones. La interfaz de usuario le mostrará todas las confirmaciones ordenadas en el momento en que fueron enviadas. Entonces, todo es lineal.
Eso significa que si varias personas fusionan múltiples ramas del proyecto, podrían mezclarse y enredarse. Es por eso que algunos equipos de desarrolladores evitan usar las solicitudes de fusión y extracción por todos los medios necesarios.
Para evitar mezclar ramas y perder partes importantes de su proyecto, se recomienda que todos empujen directamente a la rama maestra. Eso mantendrá una historia lineal mientras mantiene las ramas únicas. Pero, ¿es posible desarrollar en ramas y fusionarlas sin usar el comando Commit?
Uso de Git Merge sin commit
Si escribe el comando man junto a Git Merge ( man git merge ) en el símbolo del sistema, abrirá la página AYUDA para ese comando específico. Ahí es donde puede leer su documentación y todos los argumentos adicionales que luego puede usar para personalizar aún más sus operaciones.
A juzgar por la documentación, Git Merge llama al comando Commit por defecto. Commit tiene el atributo de confirmación automática en Git Merge que lo habilita automáticamente tan pronto como se ejecuta Merge.
En la misma página de AYUDA, también verá el siguiente mensaje:
Con –no-commit, realice la fusión pero simule que la fusión falló y no se autocompromete,
para darle al usuario la oportunidad de inspeccionar y ajustar aún más el resultado de la fusión antes
comprometiéndose
Lo que eso significa es que puede agregar un argumento adicional a su comando Git Merge (–no commit) para evitar que el comando active automáticamente Git Commit.
Su línea de símbolo del sistema debería verse así:
$> ~ / git / testrepo $ git merge –no-commit v1.0
Por supuesto, dependiendo de su nombre de usuario y proyecto, el lado izquierdo del comando será diferente, pero todo lo correcto de «Git Merge» debería permanecer igual.
Un problema común que podría interferir con este tipo de Git Merge se llama Avance rápido. Verifique la salida una vez que haya presionado Enter en el comando anterior y si el mensaje dice Avance rápido, cambie la línea de comando a esto: git merge v1.0 –no-commit –no-ff
El argumento –no-ff evita el reenvío rápido y ejecuta el comando como lo desee.
Buena suerte con tus proyectos futuros
Aprender Git lleva tiempo, pero lo básico no es tan complicado. Si está buscando mejorar su juego Git, puede comenzar a buscar formas de optimizar su trabajo y ahorrar tiempo. Cortar el comando Commit es un buen lugar para comenzar.
Si necesita más información sobre ciertos comandos o argumentos, consulte la documentación completa de GitHub .
¿Has logrado ejecutar Git Merge sin comprometerte? ¿Recibiste el mensaje de avance rápido? Cuéntanos en los comentarios a continuación.