Когда я делаю разрешение слияния с разрешением с помощью Kdiff3 (и другого инструмента слияния, который я пытался), я заметил, что при разрешении создается файл *.orig
. Есть ли способ не создавать этот дополнительный файл?Git mergetool создает нежелательные файлы .orig
ответ
Возможное решение от git config
:
git config --global mergetool.keepBackup false
После выполнения слияния, исходный файл с маркерами конфликта может быть сохранен в виде файла с расширением
.orig
.
Если эта переменная установлена наfalse
, этот файл не сохраняется.
По умолчаниюtrue
(т. Е. Сохранить файлы резервной копии).
Альтернативой является не добавлять или игнорировать эти файлы, как это было предложено в этом gitguru article,
git mergetool
сохраняет версию слиянием конфликтного файла с «.orig
» суффикс.
Обязательно удалите его перед добавлением и фиксацией слияния или добавьте*.orig
в ваш.gitignore
.
Berik предлагает in the comments использовать:
find . -name \*.orig
find . -name \*.orig -delete
Charles Bailey советует в his answer чтобы быть в курсе внутренних настроек дифф инструмента которые также могут генерировать эти резервные копии файлов, независимо от того, что мерзавец настройки.
- kdiff3 имеет свои настройки (см. «Directory merge» в его руководстве).
- Другие инструменты, такие как WinMerge, могут иметь собственное расширение для резервного копирования (WinMerge:
.bak
, как указано в its manual).
Таким образом, вам также необходимо сбросить эти настройки.
Вы должны быть немного осторожным с использованием 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 => Merge => Резервные файлы (* .orig)' действительно помогли избавиться от всего неизвестного неизвестного протокола io-slave, klauncher «» и не смогли создать ошибки .orig. спасибо – Geremia
Почему необходимо установить git config -global mergetool.keepBackup false? – Geremia
Чтобы быть ясно, правильная команда мерзавец это:
git config --global mergetool.keepBackup false
У обоих других ответов есть опечатки в командной строке что приведет к сбою или неправильной работе.
Я использую это, чтобы очистить все файлы, оканчивающиеся на «.orig»:
Если вы Scaredy-кот :) Вы можете оставить последнюю часть от просто перечислить их (или оставить от -r
, если вы хотите, чтобы одобрить каждое удаление):
function git-show-orig {
git status -su | grep -e"\.orig$" | cut -f2 -d" "
}
Кроме правильных ответов, предлагаемых в качестве долгосрочных решений, вы можете использовать мерзавец, чтобы удалить все ненужные файлы, как только для вас с помощью команды git clean -f
но использовать git clean --dry-run
первым, чтобы обеспечить ничего непреднамеренного Слушай.
Это позволяет использовать проверенные встроенные функции Git для скриптов, специфичных для вашей ОС/оболочки, для удаления файлов.
Да, но будьте очень осторожны, так как эта команда делает намного больше, чем удаление файлов .orig. – kghastie
git config --global mergetool.keepBackup false
Это должно работать для Beyond Compare (как mergetool) слишком
Окна:
- в Файл
Win/Users/HOME/.gitconfig
комплектmergetool.keepTemporaries=false
- в файле
git/libexec/git-core/git-mergetool
, в функцииcleanup_temp_files()
добавитьrm -rf -- "$MERGED.orig"
в блок else.
См. Принятый ответ. Это изменяет основные инструменты и не масштабируется. – oligofren
Я просто использовать команду
git clean -n *.orig
проверку, чтобы убедиться, только файл Я хочу, чтобы удалить перечислены затем
git clean -f *.orig
- 1. Слияние с "git mergetool"
- 2. Eclipse как git mergetool?
- 3. Git mergetool vs difftool
- 4. Можно ли настроить git mergetool, чтобы избежать .orig для данного инструмента слияния?
- 5. Нежелательные невоспроизводимые файлы в снимке - Git
- 6. Устранение конфликтов git: git mergetool не работает
- 7. Как правильно выполнить git mergetool
- 8. Лучшее слияние в git mergetool?
- 9. git vimdiff mergetool основные команды?
- 10. git создает файлы, заканчивающиеся на ~?
- 11. Получить Emacs, чтобы игнорировать * .orig файлы
- 12. Mercurial: простой способ вернуть файлы .orig?
- 13. Устранение конфликтов автоматически с git-mergetool
- 14. Как сказать Git, что Mergetool не удалось?
- 15. Git mergetool с Meld в Windows
- 16. Почему проект веб-развертывания Visual Studio 2008 создает нежелательные файлы?
- 17. UICollectionvView создает нежелательные смещения страницы
- 18. PHP soapCall создает нежелательные htmlEntities
- 19. Beyond Compare 2 как Git Mergetool
- 20. git mergetool не 3-way merge правильно
- 21. Как использовать git mergetool с Cloud9 IDE?
- 22. Как работает git mergetool для разрешения конфликтов?
- 23. `git mergetool`, файл` fileName. ~ FileType` был создан
- 24. Внесение изменений в git mergetool job
- 25. Git запускает mergetool без каких-либо аргументов
- 26. Git mergetool с помощью Android Studio (IntelliJ)
- 27. Git, как объединить конфликт после mergetool
- 28. Git apply не создает новые файлы?
- 29. Создает ли Git Branch новые файлы?
- 30. Нежелательные .map файлы, созданные
@Sophistifunk: хорошая точка. Я отредактировал ответ, чтобы использовать правильный знак. – VonC
Редактирование настроек в kdiff для меня работало: Настройки> Настроить Kdiff3> Directory. Снимите флажок «Резервные файлы (.orig)» – kgrote
Спасибо за упоминание WinMerge - это была моя проблема. –