2013-08-19 2 views
0

В проекте, над которым мы работаем, мы совершаем компиляцию CSS из нашего SASS. Единственное, что мы начинаем часто получать конфликты слияния в этих файлах.Используйте стратегию слияния git для одиночного файла

Способ, которым мы решаем это на данный момент, - это просто очистить файл, и он автоматически перекомпилируется из файлов SASS с правильно объединенными источниками.

Каков наилучший способ избежать этого, помимо добавления этих файлов в .gitignore? То, что я думаю о идеальном решении, заключается в том, чтобы установить стратегию слияния для этого файла (и этого файла) для их/моих, но я не уверен, что это возможно.

ответ

1

Если это (репо Git) рассматривается как исходный репозиторий в кода, то вы должны добавить эти воссозданные типов файлов/имена в файл .gitignore. Это потому, что они не являются актуальными источник файлов.

Однако, если вам требуется репо, чтобы сохранить определенные производные результаты (чтобы избежать зависимостей обновления инструмента), вы можете сконфигурировать запись специального файла слияния (см. Параметры конфигурации merge.<driver>.name и git-атрибуты «Определение настраиваемого драйвера слияния «)

должна быть предусмотрена возможность связать тип файла с драйвером и т.д.

я не пробовал последний так ... наслаждаться чтением глубины данного руководства

0

Я использовал бы пятно и чистые фильтры (link to doc).

Цель состоит в том, чтобы в принципе исключить этот файл из действий слияния и перестроить файл после проверки.

Как «smudge» Я бы вынул файл (или вставлял текст о том, что этот файл будет перестроен из файла xyz).

Как «чистый», я перестроил файл с оригинального SASS. Это должно работать, если имена файлов css/sass каким-то образом коррелируют.

// %f passes the filename 
// "rebuild_css" and "clean_css" need to be written. 
[filter "css"] 
    clean = rebuild_css %f 
    smudge = clean_css %f 
Смежные вопросы