Git mergetool génère indésirables .orig fichiers
Quand je fais une fusion de la résolution des conflits avec Kdiff3 (et d'autres outil de fusion, j'ai essayé), j'ai remarqué que sur la résolution d'un *.orig
fichier est créé. Est-il un moyen pour elle de ne pas créer ce fichier supplémentaire?
Vous devez vous connecter pour publier un commentaire.
Une solution possible à partir de
git config
:L'autre solution étant de ne pas ajouter ou d'ignorer ces fichiers, comme indiqué dans cette gitguru article,
Berik suggère dans les commentaires à utiliser:
Charles Bailey conseille dans sa réponse d'être conscient de interne diff paramètres de l'outil de qui pourrait également générer ces fichiers de sauvegarde, peu importe ce que git paramètres.
.bak
, comme mentionné dans son manuel).Si vous avez besoin de réinitialiser ces paramètres ainsi.
git config --global mergetool.keepBackup false
, Résolu pour P4Merge sur Mavericks 10.9.2. Merci 🙂.gitignore
pour opendiff fichiers générés ici. peut être utile pour quelqu'un 😉keepBackup = false
sous[mergetool]
, pas sous[mergetool "BeyondCompare4"]
ou quelle que soit la fusion visuelle de l'outil que vous avez configuré.find . -name \*.orig
pour trouver ces fichiers etfind . -name \*.orig -delete
pour les supprimergit clean -f
pour éliminer les.orig
fichiers. Cela peut être simple à déplacer, mais c'est probablement un indicateur de la façon dont le peu que je sais sur git.rm ./**/*.orig
est un court alternative à la commande rechercher.find
(liste des fichiers) tout d'abord, vérifiez que ce que je suis sur le point de supprimer est en effet ce que je veux, puis supprimer. À l'aide derm
avec des caractères génériques (*
ou**
) est anxiogène pour moi 😉.
. Ne serait pas trop bon pour nerm /**/*.orig
.Vous devez être un peu prudent avec l'utilisation
kdiff3
comme toutgit mergetool
peut être configuré pour enregistrer un.orig
fichier lors de la fusion, le comportement par défaut pourkdiff3
est également enregistrer un.orig
fichier de sauvegarde indépendamment degit mergetool
.Vous devez vous assurer que
mergetool
de sauvegarde est désactivée:et aussi que kdiff3 les paramètres sont définis pour ne pas créer une sauvegarde:
Configure/Options => Directory Merge => Backup Files (*.orig)
vraiment aidé à se débarrasser de l'étrange io-esclave, klauncher «» le protocole inconnu, et n'a pas pu créer .orig erreurs. mercigit config --global mergetool.keepBackup false
ont à être ensemble?Pour être clair, la commande git est:
Les deux autres réponses ont les fautes de frappe dans la ligne de commande qui va la faire échouer ou ne pas fonctionner correctement.
L'option pour enregistrer la .orig fichier peut être désactivé par la configuration de KDiff3
Je l'utilise pour nettoyer tous les fichiers se terminant par ".orig":
Si vous êtes un trouillard 🙂 vous pouvez laisser la dernière partie juste à la liste (ou de laisser sur le
-r
si vous souhaitez approuver chaque delete):- Je simplement utiliser la commande
assurez-vous que seul fichier que je veux supprimer sont répertoriés
puis
Outre les bonnes réponses proposées comme des solutions à long terme, vous pouvez utiliser git pour supprimer tous les fichiers inutiles une fois pour vous avec le
git clean -f
de commande, mais l'utilisationgit clean --dry-run
d'abord pour s'assurer que rien ne involontaire qui pourrait arriver.Cela a l'avantage d'utiliser testé construit dans la fonctionnalité de Git sur des scripts spécifiques à votre système d'exploitation/coque pour supprimer les fichiers.
Ou tout simplement ajouter
*.orig
à votre gitignore
Cela devrait fonctionner pour au-Delà de comparaison (comme mergetool) trop
Windows:
Win/Users/HOME/.gitconfig
ensemblemergetool.keepTemporaries=false
git/libexec/git-core/git-mergetool
, dans la fonctioncleanup_temp_files()
ajouterrm -rf -- "$MERGED.orig"
dans le bloc else.