Может ли git хранить mime-тип файла, как это делает SVN, для просмотра html?

Я только что отправил свой первый репозиторий на github, но когда я просматриваю свой html, он используется как txt. Это то, что я могу установить, как svn реквизит? Или это просто неадекватность GitHub?

Кажется, я не могу найти что-то полезное на git, github или здесь.

9
задан Brendan Heywood 21 August 2010 в 12:15
поделиться

2 ответа

Git, в отличие от SVN, не занимается отдельными файлами, а скорее коммитами, поэтому я считаю, что вы не можете устанавливать реквизиты mime-типа для файлов. С другой стороны, github — это «сайт для размещения кода», который управляет вашими репозиториями кода и заботится только о показе кода. Исключением из этого правила являются файлы README, в которых вы можете указывать различные форматы (например, .markdown) и отображать их как полу-HTML и вики-страницы.

Если вы хотите разместить свои HTML-файлы (например, на веб-сервере), то github не место для этого. Скорее, вы можете держать свои файлы под контролем версий github, но проверять и обслуживать их с веб-сервера, такого как apache.

5
ответ дан 4 December 2019 в 14:26
поделиться

Во-первых, Subversion поддерживает (версионированные) свойства (простые пары ключ=значение) для файлов, каталогов и ревизий. Сюда входит свойство svn:mime-type для файла. Этот подход (эта функция) выглядит как остатки оригинального механизма хранения BerkeleyDB и немного напоминает «разветвления ресурсов» на (более старых?) файловых системах MacOS.

Ближайшим эквивалентом свойств файла Subversion в Git будет gitattributes (атрибуты для каждого пути). Вы можете определить gitattribute mime-type, но в настоящее время ни один инструмент Git (известный мне) не использует его. Обратите внимание, что, в отличие от Subversion, gitattributes хранятся в обычном файле: в файле дерева .gitattributes (который может иметь версию) и в файле .git/info/attributes пользователя репозитория. ... который можно редактировать в обычном редакторе, а не только с помощью SCM-команд.


Во-вторых, свойства или атрибуты mime-types или mimetype-like на самом деле не нужны. Gitweb (и, возможно, другие интерфейсы git) используют файл с расширением для отображения mimetype (по умолчанию /etc/mime.types), так что, например. Файлы «*.html» обслуживаются в «сыром» режиме (т.е. действие «blob_plain») обслуживаются с типом содержимого «text/html», см., например. http://repo.or.cz/w/git.git/blob_plain/html:/gitattributes.html

Отсутствие веб-интерфейса GitHub http://github.com/git /git/raw/html/gitattributes.html обслуживается с типом содержимого text/plain...

8
ответ дан 4 December 2019 в 14:26
поделиться