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 *.orig
se 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 *.orig
se 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
.orig
extensión.
Si esta variable se establece enfalse
, este archivo no se conserva.
El valor predeterminadotrue
es (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 mergetool
guarda la versión de conflicto de fusión del archivo con un.orig
sufijo " ".
Asegúrese de eliminarlo antes de agregar y confirmar la combinación o agregar*.orig
a 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.
.bak
como 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 = false
bajo[mergetool]
, no bajo[mergetool "BeyondCompare4"]
o cualquier combinación visual herramienta que ha configurado.Debe tener un poco de cuidado al usarlo,
kdiff3
ya que si biengit mergetool
se puede configurar para guardar un.orig
archivo durante la fusión, el comportamiento predeterminado parakdiff3
también es guardar un.orig
archivo de copia de seguridad de forma independientegit mergetool
.Debe asegurarse de que la
mergetool
copia 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 false
tiene 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
-r
si 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 -f
comando, pero usegit clean --dry-run
primero 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/.gitconfig
conjunto de archivosmergetool.keepTemporaries=false
git/libexec/git-core/git-mergetool
, en la funcióncleanup_temp_files()
agregarrm -rf -- "$MERGED.orig"
dentro del bloque else.fuente