Respuestas:
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 bien git mergetool
se puede configurar para guardar un .orig
archivo durante la fusión, el comportamiento predeterminado para kdiff3
también es guardar un .orig
archivo de copia de seguridad de forma independiente git mergetool
.
Debe asegurarse de que la mergetool
copia de seguridad esté desactivada:
git config --global mergetool.keepBackup false
y también que la configuración de kdiff3 está configurada para no crear una copia de seguridad:
Configure/Options => Directory Merge => Backup Files (*.orig)
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. gracias
git config --global mergetool.keepBackup false
tiene que ser configurado?
La opción para guardar el archivo .orig se puede desactivar configurando KDiff3
Lo uso para limpiar todos los archivos que terminan en ".orig":
function git-clean-orig {
git status -su | grep -e"\.orig$" | cut -f2 -d" " | xargs rm -r
}
Si eres un gato asustado :) puedes dejar la última parte solo para enumerarlos (o dejar de lado -r
si quieres aprobar cada eliminación):
function git-show-orig {
git status -su | grep -e"\.orig$" | cut -f2 -d" "
}
Simplemente uso el comando
git clean -n *.orig
compruebe para asegurarse de que solo se enumere el archivo que deseo eliminar
git clean -f *.orig
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 use git 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.
Ventanas:
Win/Users/HOME/.gitconfig
conjunto de archivosmergetool.keepTemporaries=false
git/libexec/git-core/git-mergetool
, en la función cleanup_temp_files()
agregar rm -rf -- "$MERGED.orig"
dentro del bloque else.