es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

git merge con –no-commit como predeterminado

Estoy intentando establecer git merge --no-ff --no-commit como un comportamiento predeterminado para la fusión.

Ahora he leído las siguientes preguntas:

https://stackoverflow.com/questions/5519007/how-do-i-make-git-merges-default-be-no-ff-no-commit

https://stackoverflow.com/questions/24660529/git-default-no-commit-merge-behaviour-for-all-branches

Siguiendo esas respuestas, añadí lo siguiente a la configuración global:


[merge]
tool = winmerge
ff = false
commit = false

Después de añadir las nuevas configuraciones, –no-ff funciona correctamente, pero aún se realiza una confirmación automática. Entonces busqué en la página de documentación de fusiones:

https://git-scm.com/docs/merge-config/2.18.0

Hay una entrada para merge.ff pero no para merge.commit. Actualmente estoy utilizando la versión 2.29.2.windows.2 de git.

Añadí –no-commit a la configuración local mergeoptions como solución temporal:


[branch "master"]
mergeoptions = --no-commit

Funciona por ahora, pero me gustaría tener ese comportamiento predeterminado para todos los proyectos y ramas en mi computadora.

Mis preguntas son las siguientes:
1. ¿Realmente existe la configuración merge.commit? Si es un problema de versión, ¿qué versión permitiría esto?
2. Si merge.commit no está disponible, ¿cuál sería la alternativa?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Después de revisar la documentación oficial de Git para merge-config (versión 2.33.1), no parece haber una configuración merge.commit disponible. Podría ser un problema de versión, pero no está claro qué versión permitiría esto.

    Como alternativa, podrías seguir utilizando el método de configuración local mergeoptions para cada rama, o podrías crear un alias de Git que agregue automáticamente la opción –no-commit a cada comando merge, de la siguiente manera:

    git config --global alias.mergec 'merge --no-ff --no-commit'
    

    Con este alias, simplemente puedes usar git mergec en lugar de git merge para fusionar ramas con las opciones –no-ff y –no-commit establecidas como predeterminadas.

Comments are closed.