Quando faccio risoluzione merge conflitto con KDiff3 (e altro strumento di unione ho provato) ho notato che sulla risoluzione viene creato un file *.orig
. C'è un modo per non creare quel file in più?Git mergetool genera indesiderati file .orig
risposta
Una possibile soluzione da git config
:
git config --global mergetool.keepBackup false
Dopo aver eseguito una stampa, il file originale con marcatori di conflitto possono essere salvati come file con estensione
.orig
.
Se questa variabile è impostata sufalse
, questo file non viene conservato.
Il valore predefinito ètrue
(ad esempio, conservare i file di backup).
L'alternativa è non aggiungere o ignorare quei file, come suggerito in questo gitguru article,
git mergetool
salva la versione merge-conflitto di file con un suffisso “.orig
”.
Assicurarsi di eliminarlo prima di aggiungere e confermare l'unione o aggiungere*.orig
al numero.gitignore
.
Berik suggerisce in the comments da usare:
find . -name \*.orig
find . -name \*.orig -delete
Charles Bailey consiglia nella his answer di essere a conoscenza di impostazioni dello strumento diff interne che potrebbe anche generare i file di backup, non importa quale git impostazioni sono.
- kdiff3 ha le proprie impostazioni (vedi "Directory merge" nel suo manuale).
- altri strumenti come WinMerge possono avere il loro estensione di file di backup (WinMerge:
.bak
, come accennato in its manual).
Quindi è necessario ripristinare anche queste impostazioni.
bisogna essere un po 'attenti con l'utilizzo di kdiff3
come mentre git mergetool
può essere configurato per salvare un file .orig
durante la fusione, il comportamento predefinito per kdiff3
è di salvare anche un file di backup .orig
indipendentemente git mergetool
.
si deve fare in modo che mergetool
di backup è spento:
git config --global mergetool.keepBackup false
e anche 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)' ha davvero aiutato a sbarazzarsi di tutti gli strani protocolli io-slave, klauncher «» sconosciuti e non è stato in grado di creare errori .orig. grazie – Geremia
Perché 'git config --global mergetool.keepBackup false' deve essere impostato? – Geremia
Per essere chiari, il comando git corretta is:
git config --global mergetool.keepBackup false
Entrambe le altre risposte hanno errori di battitura nella riga di comando ciò causerà il fallimento o il mancato funzionamento.
Io lo uso per pulire tutti i file che terminano in ".orig":
Se sei un fifone :) si poteva lasciare l'ultima parte fuori solo alla lista di loro (o lasciare fuori il -r
se si vuole approvare ogni delete):
function git-show-orig {
git status -su | grep -e"\.orig$" | cut -f2 -d" "
}
Oltre alle risposte corrette offerti come soluzioni a lungo termine, è possibile utilizzare git per rimuovere tutti i file non necessari, una volta per voi con il comando git clean -f
ma utilizzare git clean --dry-run
prima per garantire niente di non intenzionale capita
Questo ha il vantaggio di utilizzare la funzionalità integrata testata di Git tramite script specifici per il proprio sistema operativo/shell per rimuovere i file.
Sì, ma fai molta attenzione poiché questo comando fa molto di più che rimuovere i file .orig. – kghastie
git config --global mergetool.keepBackup false
Questo dovrebbe funzionare per Beyond Compare (come mergetool) troppo
di Windows:
- in file
Win/Users/HOME/.gitconfig
setmergetool.keepTemporaries=false
- nel file
git/libexec/git-core/git-mergetool
, nella funzionecleanup_temp_files()
aggiungererm -rf -- "$MERGED.orig"
all'interno del blocco else.
Vedi la risposta accettata. Questo modifica gli strumenti principali e non è scalabile. – oligofren
ho semplicemente utilizzare il comando
git clean -n *.orig
controllo per assicurarsi che solo file che voglio rimuovere sono elencati poi
git clean -f *.orig
- 1. Fusione con "git mergetool"
- 2. Come eliminare i file .orig dopo l'unione dal repository git?
- 3. Git mergetool con Meld su Windows
- 4. Come usare git di mergetool FileMerge
- 5. Utilizzo di ediff come git mergetool
- 6. Git lancia mergetool senza alcun argomento
- 7. Ottieni Emacs per ignorare i file * .orig
- 8. gvimdiff mergetool per msysgit
- 9. mergetool da .gitconfig viene ignorato?
- 10. Git Rimuove i commit indesiderati da una richiesta di pull
- 11. Come utilizzare opendiff come mergetool predefinita
- 12. git checkout genera un errore nei file --assume-immutati
- 13. Posso rinominare LOCAL, REMOTE e BASE come usato in git mergetool?
- 14. KDiff3 non si apre con il comando mergetool
- 15. indesiderati Garbage Collection
- 16. CKEditor indesiderati caratteri
- 17. indesiderati decimale troncamento
- 18. Utilizzando awk per "rimuovere" il testo indesiderati da file CSV
- 19. File jar indesiderati in tomcat/lib o WEB-INF/lib
- 20. joomla- Come rimuovere i file js indesiderati dalla pagina
- 21. Rimozione dei nodi indesiderati dal file wxs applicando xslt tranfsormation
- 22. Come posso forzare la visualizzazione della GUI di mergetool (kdiff3)?
- 23. Questo snippet di rilevamento del ciclo for-in genera falsi positivi indesiderati?
- 24. Come faccio a fare git aprire automaticamente il mergetool se c'è un conflitto di merge?
- 25. Perché il tortoisemerge non funziona come il mio mergetool?
- 26. Genera file JNLP java?
- 27. XSLT rimuovere gli elementi indesiderati
- 28. D: indesiderati funzione anonima attribuisce
- 29. indesiderati autoboxing magia sui Numeri
- 30. C'è un modo per dire a Mercurial di mettere i file .orig in una directory separata?
@Sophistifunk: buon punto. Ho modificato la risposta per utilizzare il segno corretto. – VonC
La modifica delle impostazioni in kdiff stesso ha funzionato per me: Impostazioni> Configura Kdiff3> Directory. Deseleziona la casella "File di backup (.orig)" – kgrote
Grazie per la menzione di WinMerge, questo era il mio problema. –