Risposte:
Una possibile soluzione da git config
:
git config --global mergetool.keepBackup false
Dopo aver eseguito un'unione, il file originale con marcatori di conflitto può essere salvato come file con
.orig
estensione.
Se questa variabile è impostata su,false
questo file non viene conservato.
L'impostazione predefinita ètrue
(ad es. Conservare i file di backup).
L'alternativa è non aggiungere o ignorare quei file, come suggerito in questo articolo di gitguru ,
git mergetool
salva la versione del conflitto di unione del file con un.orig
suffisso “ ”.
Assicurati di eliminarlo prima di aggiungere e confermare l'unione o aggiungere*.orig
al tuo.gitignore
.
Berik suggerisce nei commenti di usare:
find . -name \*.orig
find . -name \*.orig -delete
Charles Bailey consiglia nella sua risposta di essere consapevole delle impostazioni interne dello strumento diff che potrebbero anche generare quei file di backup, indipendentemente dalle impostazioni git.
.bak
come menzionato nel suo manuale ).Quindi è necessario ripristinare anche quelle impostazioni.
git config --global mergetool.keepBackup false
, Risolto per P4Merge su Mavericks 10.9.2. Grazie :)
keepBackup = false
under [mergetool]
, not under [mergetool "BeyondCompare4"]
o qualunque che tu abbia configurato.
Devi fare un po 'di attenzione nell'usare kdiff3
as mentre git mergetool
può essere configurato per salvare un .orig
file durante l'unione, il comportamento predefinito per kdiff3
è anche quello di salvare un .orig
file di backup indipendentemente da git mergetool
.
Devi assicurarti che il mergetool
backup sia spento:
git config --global mergetool.keepBackup false
e anche che le impostazioni di kdiff3 sono impostate per non creare un backup:
Configure/Options => Directory Merge => Backup Files (*.orig)
Configure/Options => Directory Merge => Backup Files (*.orig)
aiutò davvero a sbarazzarmi di tutto lo strano protocollo io-slave, klauncher «» sconosciuto, e non riuscì a creare errori .orig. grazie
git config --global mergetool.keepBackup false
deve essere impostato?
L'opzione per salvare il file .orig può essere disabilitata configurando KDiff3
Lo uso per ripulire tutti i file che terminano con ".orig":
function git-clean-orig {
git status -su | grep -e"\.orig$" | cut -f2 -d" " | xargs rm -r
}
Se sei uno scaredy-cat :) potresti lasciare l'ultima parte solo per elencarli (o lasciar perdere -r
se vuoi approvare ogni cancellazione):
function git-show-orig {
git status -su | grep -e"\.orig$" | cut -f2 -d" "
}
Uso semplicemente il comando
git clean -n *.orig
controlla per assicurarti che siano elencati solo i file che voglio rimuovere
git clean -f *.orig
Oltre alle risposte corrette offerte come soluzioni a lungo termine, puoi usare git per rimuovere tutti i file non necessari una volta per te con il git clean -f
comando ma usa git clean --dry-run
prima per assicurarti che non accada nulla di indesiderato.
Questo ha il vantaggio di utilizzare la funzionalità testata integrata di Git su script specifici per il tuo sistema operativo / shell per rimuovere i file.
Finestre:
Win/Users/HOME/.gitconfig
set di filemergetool.keepTemporaries=false
git/libexec/git-core/git-mergetool
, nella funzione cleanup_temp_files()
aggiungi rm -rf -- "$MERGED.orig"
all'interno del blocco else.