2010-08-21 12 views

Respuesta

5

Git, a diferencia de SVN, no se preocupa de los archivos individuales, sino de los commits, por lo que creo que no se pueden configurar atributos mime-type en los archivos. Por otro lado, github es un "sitio de alojamiento de código", que administra los repositorios de código y solo se preocupa por mostrar el código. La excepción de esta regla son los archivos README, donde puede ordenar los diferentes formatos (como .markdown) y representarlos como páginas semi-HTML y wiki.

Si lo que desea es alojar sus archivos HTML (como en un servidor web), entonces github no es el lugar indicado para hacerlo. Por el contrario, puede mantener sus archivos bajo el control de la versión de Github, pero échele un vistazo y preséntelos desde un servidor web como apache.

+1

También hay [páginas github] (http://pages.github.com/) que le permiten alojar HTML arbitrario. –

+0

Correcto, git no lo almacena, aunque TÉCNICAMENTE podría hacerlo en el árbol. – alternative

+2

Si su repositorio contiene algunos (o muchos) archivos HTML (por ejemplo, documentación), sería bueno si GitHub los sirvió como HTML si presiona "raw". ¡Estás en un navegador web después de todo! – JasonPlutext

8

En primer lugar, Subversion admite (versiones) propiedades (simple clave = valor pares) en archivos, directorios y revisiones. Esto incluye la propiedad svn:mime-type para un archivo. Este enfoque (esta característica) se parece a los restos del motor de almacenamiento BerkeleyDB original, y recuerda un poco de "herramientas de recursos" en sistemas de archivos MacOS (¿más antiguos?).

El equivalente más cercano a las propiedades de archivos de Subversion en Git sería gitattributes (atributos por ruta). Podría definir mime-type gitattribute, pero actualmente ninguna herramienta Git (conocida por mí) lo usa. Tenga en cuenta que, a diferencia de los gitattributes de Subversion, se almacenan en un archivo ordinario: en el árbol .gitattributes (que puede ser versionado) y en el archivo .git/info/attributes del usuario del repositorio ... que puede editarse en un editor ordinario y no solo utilizando comandos SCM.


En segundo lugar, los tipos MIME o la propiedad MIME o de tipo atributo no es realmente necesario. Gitweb (y probablemente otras interfaces git) usan el archivo con la extensión para mapear mimetype (/etc/mime.types de forma predeterminada), de modo que, p. Los archivos '* .html' se sirven en modo 'raw' (es decir, la acción 'blob_plain') se sirven con 'content/type' text/html, consulte p. ej. http://repo.or.cz/w/git.git/blob_plain/html:/gitattributes.html

Es la falta de interfaz web GitHub que http://github.com/git/git/raw/html/gitattributes.html se sirve con '/ plain texto' tipo de contenido ...

+0

sobre el atributo 'mime-type' git, no puedo encontrarlo en los documentos de Git – danza

+0

@danza: escribí" se podía * definir * atributo de tipo mime ", es decir, sería un atributo ** personalizado ** (como por ejemplo, el atributo 'encoding' utilizado por git-gui, pero no definido por git en sí mismo). –

1

extensión del archivo-tipo MIME a la cartografía es, como mucho, una solución roto. Dos ejemplos entre muchos. Prolog utilizó la extensión .pl mucho antes de que existiera Perl. Los archivos con una extensión .txt pueden contener, p. Markdown texto y a menudo hay buenas razones para no usar una extensión .md o similar.

Cuestiones relacionadas