Когда я выполняю разрешение конфликтов слияния с помощью Kdiff3 (и другого инструмента слияния, который я пробовал), я заметил, что при разрешении создается *.orig
файл. Есть ли способ для этого не создавать этот дополнительный файл?
источник
Когда я выполняю разрешение конфликтов слияния с помощью Kdiff3 (и другого инструмента слияния, который я пробовал), я заметил, что при разрешении создается *.orig
файл. Есть ли способ для этого не создавать этот дополнительный файл?
Возможное решение от git config
:
git config --global mergetool.keepBackup false
После выполнения слияния исходный файл с маркерами конфликта может быть сохранен как файл с
.orig
расширением.
Если эта переменная установлена в,false
то этот файл не сохраняется.
По умолчаниюtrue
(т.е. сохранить файлы резервных копий).
Альтернативой является не добавление или игнорирование этих файлов, как предлагается в этой статье о gitguru ,
git mergetool
сохраняет версию файла с конфликтом слиянием с.orig
суффиксом « ».
Убедитесь, что удалили его перед добавлением и фиксацией слияния или добавьте*.orig
в свой.gitignore
.
Берик предлагает в комментариях использовать:
find . -name \*.orig
find . -name \*.orig -delete
Чарльз Бейли советует в своем ответе знать о внутренних настройках diff, которые также могут генерировать эти файлы резервных копий, независимо от настроек git.
.bak
как указано в его руководстве ).Поэтому вам необходимо сбросить эти настройки.
git config --global mergetool.keepBackup false
, Решено для P4Merge на Маверикс 10.9.2. Спасибо :)keepBackup = false
under[mergetool]
, а не under[mergetool "BeyondCompare4"]
или любой другой инструмент визуального слияния, который вы настроили.Вы должны быть немного осторожны с использованием, так
kdiff3
как в то время какgit mergetool
можно настроить сохранение.orig
файла во время слияния, по умолчаниюkdiff3
используется также сохранение.orig
файла резервной копии независимо отgit mergetool
.Вы должны убедиться, что
mergetool
резервное копирование отключено:а также что настройки kdiff3 настроены так, чтобы не создавать резервную копию:
источник
Configure/Options => Directory Merge => Backup Files (*.orig)
действительно помог избавиться от всех странных неизвестных протоколов io-slave, klauncher «» и не смог создать ошибки .orig. спасибоgit config --global mergetool.keepBackup false
должен быть установлен?Для ясности, правильная команда git:
Оба других ответа содержат опечатки в командной строке, которые приведут к сбою или неправильной работе.
источник
Опцию сохранения файла .orig можно отключить, настроив KDiff3
источник
Я использую это, чтобы очистить все файлы, заканчивающиеся на «.orig»:
Если вы напуганный кот :), вы можете оставить последнюю часть, чтобы просто перечислить их (или не включать,
-r
если хотите одобрить каждое удаление):источник
Я просто использую команду
убедитесь, что в списке указаны только те файлы, которые я хочу удалить
источник
Помимо правильных ответов, предлагаемых в качестве долгосрочных решений, вы можете использовать git, чтобы удалить все ненужные файлы один раз для вас с помощью
git clean -f
команды, но используйтеgit clean --dry-run
сначала, чтобы ничего не произошло непреднамеренно.Преимущество использования проверенных встроенных функций Git перед скриптами, специфичными для вашей ОС / оболочки, для удаления файлов.
источник
Или просто добавь
* .orig
к вашему глобальному gitignore
источник
Это должно работать и для Beyond Compare (как mergetool)
источник
Окна:
Win/Users/HOME/.gitconfig
набореmergetool.keepTemporaries=false
git/libexec/git-core/git-mergetool
, в функциюcleanup_temp_files()
addrm -rf -- "$MERGED.orig"
внутри блока else.источник