GitList es una interfaz PHP para Git que embellece y simplifica la navegación por tus repositorios Git, y puedes alojarlo donde quieras. Diga adiós a las exorbitantes tarifas por alojar su repositorio privado; GitList es absolutamente gratis, y debido a sus mínimas dependencias, puede incluso ejecutarlo en (algunos) planes de alojamiento Web compartido.
La interfaz seguramente se ve familiar para los usuarios de GitHub por ahí! Es bastante ingenioso y de aspecto moderno comparado con la interfaz más torpe de Gitweb, la interfaz Web por defecto de Gitweb, y viene con funciones fáciles de usar. Algunos de estos incluyen:
Soporte para navegar por múltiples repositorios
Soporte para múltiples ramas y etiquetas
Fuentes RSS
Resaltado de sintaxis
Estadísticas en sus repositorios
Facilidad de instalación en comparación con otros frontends de Git basados en Web
Requisitos
Como mencionamos anteriormente, puedes instalar GitList en algunos planes de alojamiento Web compartido. Usted necesita un par de cosas en su servidor remoto que no todos los planes de alojamiento compartido ofrecen:
Git
Acceso SSH
Ten en cuenta que el acceso SSH no es necesario para instalar GitList en sí, pero lo necesitarás para crear y gestionar tus repositorios Git remotos desde la línea de comandos.
Además de esos dos artículos, usted necesitará:
Apache con mod_rewrite habilitado o Nginx en su servidor remoto
PHP 5.3.3.3 en su servidor remoto
Git en su máquina local
Instalación
Agarra un tarball del código de GitList de la página principal en GitList.org . Puede elegir entre la última versión estable, que en el momento de escribir este artículo es 0.3, o la versión de desarrollo. Elegí la versión de desarrollo, pero puedes seguir las mismas instrucciones de instalación en ambos casos.
Extrae el tarball en el directorio de tu sitio en el que quieres instalar GitList – no confundir con el directorio en el que están instalados tus repositorios de Git, al que llegaremos en un momento.
De ahora en adelante, las instrucciones de este artículo asumirán que usted está conectado a su sitio a través de SSH. Introduzca su directorio GitList y configure 777 permisos para el subdirectorio «cache» (créelo si aún no existe):
[mkdir cache] chmod 777 cache
>
Ahora mueva el archivo config.ini-ejemplo a config.ini:
mv config.ini-example config.ini
Abra config.ini para editar en uno de los editores de texto disponibles en su servidor remoto. Por ejemplo:
vi config.ini
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.
Para esta parte, ya debes tener uno o más repositorios de Git almacenados en algún lugar de tu servidor. Si no lo hace, lea la siguiente sección y luego regrese aquí.
Completa la sección de repositorios en el código con la ruta completa del directorio de tu proyecto Git. Si no conoce la ruta completa, puede cd en ese directorio e introducir pwd; la salida es la ruta completa. En este caso, mi directorio de proyectos de Git se llamaba «gitprojects», y vivía bajo el subdirectorio «git» de mi sitio principal, así que escribí mi ruta en consecuencia (la estructura de carpetas puede variar según los hosts Web, así que ten cuidado):
Obtener un repositorio Git en tu servidor
Adelante, omita esta sección si ya ha configurado sus repositorios remotos. Si no, hay una manera de hacerlo.
Primero prepara un repositorio Git en tu máquina local. Puede hacer un repositorio desde cualquier directorio. Por ejemplo, digamos que tienes una carpeta llamada «tortugas» con algunos archivos dentro:
Tortugas
cd git init #esto inicializa el repositorio git add * #esto hace que todos los ficheros en el directorio sean rastreados para revisiones git commit -m "Created my repo" * #compromete los archivos y añade un comentario
>.
Ahora SSH en su servidor remoto para crear e inicializar un repositorio desnudo:
mkdir turtles.git &&&cd turtles.git git --bare init
Vuelva a su máquina local y añada una sucursal remota. Es habitual llamarlo «origen», pero puede usar cualquier nombre que desee (usar otros nombres es muy útil si está compartiendo los mismos archivos con varios repositorios remotos). Siga el formato de este ejemplo pero cambie las rutas de su archivo apropiadamente:
git remote add origin ssh://yourusername@yourserver.com/home/yourusername/public_html/gitprojects/turtles.git
Ahora empuje sus archivos al servidor remoto:
git push --todo origen
Ta-da! Ahora tienes una copia remota de tu repositorio Git que puedes examinar con GitList. No olvide poner primero la ruta del directorio padre en su config.ini.
Asegurando>
Si te preocupa mantener tu repositorio alejado de miradas indiscretas, lamento decirte que GitList no proporciona ningún método de autenticación de usuario incorporado. Sin embargo, en la mayoría de los casos puede proteger un directorio con contraseña directamente desde el panel de control de su sitio web. En cPanel, está aquí en la sección «Seguridad»:
Alternativamente,> configure manualmente el servidor Apache para restringir el acceso a determinados usuarios.
Conclusión
Alojar sus propios repositorios puede ser tanto habilitante como económico. Tanto si has estado usando Git durante un tiempo como si estás en las primeras fases de curiosidad sobre cómo puedes beneficiarte del control de versiones, te recomiendo que pruebes el autohosting y GitList, a menos que, por supuesto, estés totalmente contento de dejar el control de tu contenido en manos de terceros.