Cuando hago una resolución de conflicto de combinación con Kdiff3 (y otra herramienta de combinación que probé) noté que en la resolución *.origse crea un archivo. ¿Hay alguna manera de que no cree ese archivo adicional?
fuente
Cuando hago una resolución de conflicto de combinación con Kdiff3 (y otra herramienta de combinación que probé) noté que en la resolución *.origse crea un archivo. ¿Hay alguna manera de que no cree ese archivo adicional?
Una posible solución de git config:
git config --global mergetool.keepBackup false
Después de realizar una fusión, el archivo original con marcadores de conflicto se puede guardar como un archivo con una
.origextensión.
Si esta variable se establece enfalse, este archivo no se conserva.
El valor predeterminadotruees (es decir, mantener los archivos de copia de seguridad).
La alternativa es no agregar o ignorar esos archivos, como se sugiere en este artículo de gitguru ,
git mergetoolguarda la versión de conflicto de fusión del archivo con un.origsufijo " ".
Asegúrese de eliminarlo antes de agregar y confirmar la combinación o agregar*.origa su.gitignore.
Berik sugiere en los comentarios usar:
find . -name \*.orig
find . -name \*.orig -delete
Charles Bailey aconseja en su respuesta tener en cuenta la configuración interna de la herramienta diff que también podría generar esos archivos de respaldo, sin importar cuáles sean las configuraciones de git.
.bakcomo se menciona en su manual ).Por lo tanto, también debe restablecer esa configuración.
git config --global mergetool.keepBackup false, Resuelto para P4Merge en Mavericks 10.9.2. Gracias :)keepBackup = falsebajo[mergetool], no bajo[mergetool "BeyondCompare4"]o cualquier combinación visual herramienta que ha configurado.Debe tener un poco de cuidado al usarlo,
kdiff3ya que si biengit mergetoolse puede configurar para guardar un.origarchivo durante la fusión, el comportamiento predeterminado parakdiff3también es guardar un.origarchivo de copia de seguridad de forma independientegit mergetool.Debe asegurarse de que la
mergetoolcopia de seguridad esté desactivada:y también que la configuración de kdiff3 está configurada para no crear una copia de seguridad:
fuente
Configure/Options => Directory Merge => Backup Files (*.orig)realmente ayudó a deshacerme de todo el extraño protocolo desconocido io-slave, klauncher «», y no podía crear errores .orig. graciasgit config --global mergetool.keepBackup falsetiene que ser configurado?Para ser claros, el comando git correcto es:
Las otras dos respuestas tienen errores tipográficos en la línea de comando que harán que falle o no funcione correctamente.
fuente
La opción para guardar el archivo .orig se puede desactivar configurando KDiff3
fuente
Lo uso para limpiar todos los archivos que terminan en ".orig":
Si eres un gato asustado :) puedes dejar la última parte solo para enumerarlos (o dejar de lado
-rsi quieres aprobar cada eliminación):fuente
Simplemente uso el comando
compruebe para asegurarse de que solo se enumere el archivo que deseo eliminar
fuente
Además de las respuestas correctas que se ofrecen como soluciones a largo plazo, puede usar git para eliminar todos los archivos innecesarios una vez para usted con el
git clean -fcomando, pero usegit clean --dry-runprimero para asegurarse de que no suceda nada involuntario.Esto tiene la ventaja de utilizar la funcionalidad integrada probada de Git sobre scripts específicos de su sistema operativo / shell para eliminar los archivos.
fuente
O simplemente agrega
* .orig
a tu gitignore global
fuente
Esto también debería funcionar para Beyond Compare (como mergetool)
fuente
Ventanas:
Win/Users/HOME/.gitconfigconjunto de archivosmergetool.keepTemporaries=falsegit/libexec/git-core/git-mergetool, en la funcióncleanup_temp_files()agregarrm -rf -- "$MERGED.orig"dentro del bloque else.fuente