2013-09-19 3 views
3

Итак, у нас есть тонна меньше файлов, которые мы скомпилируем в 1 строку css. При попытке объединить этот скомпилированный файл он продолжает терпеть неудачу. Я знаю, что мы можем исправить конфликт вручную с помощью git gui или gitmergetool. Но мне интересно, достаточно ли это для скомпилированных файлов в одной строке? кто-нибудь еще сталкивается с этой проблемой?Имеет ли Git проблему слияния скомпилированных файлов?

Благодаря Стив

ответ

2

Слияние не работает хорошо, если файл является только одна строка длиной, потому что слияние Works линию за линией.

Слияние предназначено для работы с «исходными» файлами, которые являются файлами, отредактированными людьми. Скомпилированные файлы CSS не являются исходными файлами.

У вас есть несколько различных вариантов:

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

  • Не проверять скомпилированный CSS в Git.

фиксируя ваши gitattributes:

comiled/*.css -merge 
+0

понял, что это просто хотел подтвердить. Мы можем просто объединить не скомпилированные файлы. нет biggie. спасибо Steve – Citti

1

Короткий ответ да, но это не совсем вина Git и.

Для длительного ответа, проверьте man diff:

DIFF(1)       User Commands       DIFF(1) 

NAME 
     diff - compare files line by line 

В принципе, каждый инструмент просмотра различий там использует новые строки, чтобы выяснить, где произошли изменения. Именно так работает Unix/POSIX, и поскольку все инструменты для разметки рассчитаны на работу как diff, все они будут иметь эту проблему.

В общем, скомпилированные файлы на самом деле не должны проверяться в исходном элементе управления, но даже если это так, вам не нужно беспокоиться об этих конфликтах слияния. Когда вы делаете git merge или git rebase, и есть конфликты, просто решайте конфликт на исходном уровне, перекомпилируйте этот файл, и вы можете предположить, что все в порядке. Если это не все хорошо, тогда вы делаете ошибки неправильно!

+0

Спасибо за ввод. Мы просто объединим un скомпилированные версии. – Citti

Смежные вопросы