2015-10-12 4 views
0

В gitattributes вы можете указать, что определенный тип файла следует рассматривать как двоичный, например.gitattributes и двоичная опция

*.myExt binary 

От:

http://git-scm.com/docs/gitattributes

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

Но что произойдет, если мне все равно нужно объединить контент? Будет ли git пытаться объединить его или просто пропустить все типы файлов, перечисленные как binary в файле gitattributes?

Его не ясно: http://git-scm.com/docs/gitattributes

если типы файлов помечаются как двоичный будут объединены (что означает, что мерзавец будет пытаться сделать слияние/сообщать о возможном конфликте или просто пропустить этот тип от файла).

+0

по слиты, вы имеете в виду ....? – hjpotter92

ответ

1

Если вы пометили файл как binary, то это нецелесообразно. Если две ветви, как изменить файл, то мерзавец будет отказаться от выполнения слияния и будет просто пометить файл как конфликт:

% cat .gitattributes 
foo.txt binary 

% git merge branch 
warning: Cannot merge binary files: foo.txt (HEAD vs. branch) 
Auto-merging foo.txt 
CONFLICT (content): Merge conflict in foo.txt 
Automatic merge failed; fix conflicts and then commit the result. 

Однако, если вы хотите, чтобы файлы, которые будут automergeable, но по-прежнему держать другие эффекты атрибута binary - а именно, удаление CR/LF преобразование из подразумеваемой -text атрибута, и удаление diff'ability из подразумеваемой -diff атрибута, то вы можете установить в merge атрибут:

% echo 'foo.txt binary merge' > .gitattributes 

% cat .gitattributes 
foo.txt binary merge 

% git merge branch 
Auto-merging foo.txt 
Merge made by the 'recursive' strategy. 
foo.txt | Bin 112 -> 112 bytes 
1 file changed, 0 insertions(+), 0 deletions(-) 
Смежные вопросы