Quiero fusionar todos los archivos manualmente con meld o cualquier otra herramienta de diferenciación, ¿cómo puedo hacer esto con Git?
Cuando ejecuto git mergetool
dice no files need merging
. Entonces, supongo que puedo hacerlo solo si tengo conflictos.¿Cómo combinar todos los archivos manualmente en Git?
Respuesta
¿Por qué desea combinar manualmente?
Si desea aplicar cambios selectivos, intente utilizar una herramienta diff entre el archivo en dos ramas, aplique los cambios que desee y luego asigne este archivo "fusionado" como normalmente.
Esto es exactamente para lo que mergetool es bueno. ¿No hay una manera de permitirte hacer esto * independientemente de si hay conflictos? No siempre es el caso que la combinación automática de git resulta en código (o texto) que es correcto, y una vez que se fusiona no es trivial para detectar si se introdujeron inconsistencias sutiles. – James
Si desea algunos cambios, pero no todos, de una sucursal por el motivo que sea. Podría ser cualquier cosa, realmente. –
No tengo idea de por qué esta es la respuesta aceptada – nick
Nota, si insiste en fusionarse manualmente (quizás para cierta clase de archivos), aún puede definir un controlador de combinación .
Tiene un ejemplo concreto en "Git - how to force merge conflict and manual merge on selected file".
De esta manera, la secuencia de comandos del controlador de combinación puede llamar a cualquier herramienta de fusión que desee.
Hay manera mucho más simple:
git merge --no-commit merge_branch
Como hombre dice:
Con
--no-commit
realizar la combinación, pero pretende la fusión fallida y hacer no confirmación automática, para dar la el usuario tiene la oportunidad de inspeccionar y modificar aún más el resultado de la fusión antes de confirmar.
Gracias. ¿Hay quizás una forma de usar mergetool/meld para revisar y combinar los cambios por partes con una buena interfaz de tres vías? – James
Al agregar '--no-ff', el reenvío rápido está desactivado, lo que sucederá si no hay conflictos. –
Una pregunta similar es How to prevent an automerge using git?
FractalSpace dio una respuesta que creo útil:
$ git checkout master
$ git difftool -t kdiff3 local-branch HEAD
La idea es usar difftools en lugar de herramientas de auto-fusión para recoger manualmente lo que necesita y crear nuevos archivos.
que tenían un escenario en el que:
git merge --no-commit merge_branch
solo causó un avance rápido.
Si esto sucede, usted puede utilizar:
git merge --no-commit --no-ff merge_branch
y luego podrás revisar sus cambios
¿Es posible tirar de la misma manera? Necesito verificar TODOS los conflictos manualmente si el avance rápido no es posible. – Maxim
- 1. Git: Lista de todos los cambios sin combinar en git
- 2. Desescalonar todos los archivos eliminados en Git
- 3. ¿Eliminar todos los archivos de git de un directorio?
- 4. ¿Cómo exportar todos los archivos modificados/agregados de Git?
- 5. git: ¿Cómo ignorar todos los archivos no rastreados?
- 6. Git - Agregar todos los archivos nuevos en el repos
- 7. Git - Seguimiento automático de todos los archivos en un directorio
- 8. ¿Por qué git no intenta combinar los cambios en los archivos renombrados?
- 9. git commit eliminando todos los archivos en el repos
- 10. Ignorar todos los archivos con el mismo nombre en git
- 11. ¿Cómo combinar código y resolver conflictos más fácilmente usando git?
- 12. Aceptar todos los conflictos de fusión en git
- 13. Git caminos sin combinar
- 14. Combinar 2 archivos GetText
- 15. ¿Cómo volver a combinar un archivo en el git?
- 16. git: muestra todos los archivos modificados entre dos commits
- 17. Git ¿agregar todos los archivos modificados, eliminados y sin seguimiento?
- 18. ¿Cómo puedo ignorar todos los archivos excepto los que tienen cierta extensión en git?
- 19. no se puede añadir todos los archivos a git debido a los permisos
- 20. git: ¿Cómo sobrescribo todos los cambios locales en la fusión?
- 21. Git: archivo renombrado manualmente, Git confundido
- 22. jQuery.ajax - envíe todos los elementos en forma sin ingresarlos manualmente
- 23. Error de Git "No se pueden combinar los archivos binarios" en la integración continua compilación
- 24. Cómo combinar dos archivos mp3 en uno (combinar/unir)
- 25. ¿Cómo recupero todos los nombres de archivos en un directorio?
- 26. Git buscar todos los diffs
- 27. Combinar conflicto Git
- 28. Egit muestra todos los archivos como cambiados
- 29. Cómo combinar múltiples archivos de parche?
- 30. Ver todos los `git diffs` con vimdiff
Favor proporcionar algún contexto de lo que * * que desea combinar y por qué * * se no quiero que esto se haga automáticamente – Johnsyweb
Quiero fusionar archivos de texto :) Solía mezclar manualmente mercurial y me gusta ver 3 archivos simultáneamente, si algo sale mal, siempre puedo editarlos todos – gennad
Quiere fusionar diferentes archivos de texto de diferentes revisiones de la misma ¿Archivo de texto? ¿Cómo se relacionan estos archivos con git? – Johnsyweb