Відповіді:
Можливе рішення git config
:
git config --global mergetool.keepBackup false
Після виконання злиття вихідний файл з маркерами конфлікту може бути збережений у вигляді файлу з
.orig
розширенням.
Якщо для цієї змінної встановлено значення,false
цей файл не зберігається.
За замовчуваннямtrue
(тобто зберігати резервні файли).
Альтернативою є не додавання або ігнорування цих файлів, як це запропоновано в цій статті про gitguru ,
git mergetool
зберігає версію файлу злиття конфлікту з.orig
суфіксом " ".
Обов’язково видаліть його, перш ніж додавати та здійснювати злиття чи додавання*.orig
до свого.gitignore
.
Берік пропонує в коментарях використовувати:
find . -name \*.orig
find . -name \*.orig -delete
Чарльз Бейлі радить у своїй відповіді бути в курсі внутрішніх налаштувань різного інструменту, які також можуть створювати ці файли резервного копіювання, незалежно від налаштувань git.
.bak
як зазначено в його посібнику ).Тому вам також потрібно скинути ці налаштування.
git config --global mergetool.keepBackup false
, Вирішено для P4Merge на Mavericks 10.9.2. Дякую :)
keepBackup = false
під [mergetool]
, а не під [mergetool "BeyondCompare4"]
чи будь-яким іншим інструментом візуального злиття.
Ви повинні бути обережними з використанням, kdiff3
оскільки поки git mergetool
можна налаштувати збереження .orig
файлу під час об’єднання, поведінка за замовчуванням - kdiff3
це також збереження .orig
резервного файлу незалежно від git mergetool
.
Ви повинні переконатися, що mergetool
резервна копія вимкнена:
git config --global mergetool.keepBackup false
а також, що налаштування kdiff3 встановлені таким чином, щоб не створювати резервну копію:
Configure/Options => Directory Merge => Backup Files (*.orig)
Configure/Options => Directory Merge => Backup Files (*.orig)
дійсно допомогло позбутися від усіх дивних іо-рабів, klauncher «» невідомого протоколу, і не могла створити .oor помилки. дякую
git config --global mergetool.keepBackup false
потрібно встановити?
Можливість збереження .orig-файлу можна відключити, налаштувавши KDiff3
Я використовую це для очищення всіх файлів, що закінчуються на ".orig":
function git-clean-orig {
git status -su | grep -e"\.orig$" | cut -f2 -d" " | xargs rm -r
}
Якщо ви є кішкою переляку :), ви можете залишити останню частину лише для того, щоб перерахувати їх (або відмовитися, -r
якщо ви хочете схвалити кожне видалення):
function git-show-orig {
git status -su | grep -e"\.orig$" | cut -f2 -d" "
}
Крім правильних відповідей, пропонованих як довгострокові рішення, ви можете використовувати git для видалення всіх непотрібних файлів один раз для вас git clean -f
командою, але використовуватиgit clean --dry-run
спочатку, щоб упевнитись, що нічого випадкового не трапиться.
Це має перевагу використання перевірених вбудованих функціональних можливостей Git над скриптами, характерними для вашої ОС / оболонки для видалення файлів.
Windows:
Win/Users/HOME/.gitconfig
набірmergetool.keepTemporaries=false
git/libexec/git-core/git-mergetool
, у функції cleanup_temp_files()
додати rm -rf -- "$MERGED.orig"
всередині іншого блоку.