Cómo preparar y cargar un proyecto existente en GitHub
En esta unidad, se tratan consideraciones importantes para cargar un proyecto en GitHub.
Por qué cargar en GitHub
Hay volúmenes de literatura que ensalzan las virtudes de GitHub y está fuera del ámbito de este módulo para convencerle de unirse. Sin embargo, en este módulo se resumen algunas de las principales ventajas en el contexto de los temas que debe tener en cuenta al planear la carga.
Control de versiones
GitHub usa exclusivamente Git, posiblemente el mejor sistema de control de versiones. Pero Git es increíblemente sofisticado y puede crear algunos escenarios complejos para trabajar con código con el que el equipo no esté familiarizado. Las ramas y las solicitudes de incorporación de cambios son una parte fundamental de la vida cotidiana para los desarrolladores que usan Git, por lo que es necesario comprender cuándo y cómo usarlos de forma eficaz para tener éxito en GitHub. Merece la pena que su equipo se familiarice primero con el flujo de GitHub para comenzar de inmediato.
Mantenimiento del código en la nube
Una gran cantidad del código de un proyecto todavía se almacena exclusivamente en los equipos de los desarrolladores. Al cargar en GitHub, está migrando el código a la plataforma en la nube de GitHub, donde los miembros del equipo pueden acceder fácilmente a él desde cualquier lugar. Este cambio ofrece una buena oportunidad de revisar la directiva del equipo sobre los tipos de archivos y datos que se mantienen en el control de versiones. Como procedimiento recomendado, debe suponer que todo lo que confirme en GitHub está potencialmente comprometido. Por lo tanto, asegúrese de no incluir datos confidenciales, como claves de API, contraseñas u otros archivos que contengan información comparable.
Nota:
GitHub ofrece repositorios públicos y privados y controles de acceso pormenorizados para diferentes partes de un repositorio. Esta granularidad le permite controlar a quiénes son visibles sus proyectos y qué acciones puede llevar a cabo un usuario determinado.
Colaboración
GitHub ofrece una excelente compatibilidad con la colaboración en equipo por medio de características como problemas, solicitudes de incorporación de cambios y revisiones de código. No obstante, el flujo de GitHub puede diferir de los procedimientos a los que el equipo está acostumbrado actualmente. Es aconsejable pensar en cómo puede adaptarse el equipo a GitHub y en si debe conservar o no los procesos existentes.
Si el proyecto es un proyecto de código abierto que permite colaboradores externos, no hay opción mejor que GitHub para maximizar las ventajas.
Carga en GitHub
Planificación de consideraciones
Lo más importante que se debe tener en cuenta antes de ejecutar la carga en GitHub es si se necesita conservar algo más allá del estado actual del origen. Por ejemplo, puede usar una hoja de cálculo o software de administración de proyectos para realizar el seguimiento de los errores que piensa corregir. La compatibilidad con la migración de estos elementos varía según la plataforma y está disponible con carácter general en los proyectos de la comunidad. Este módulo no aborda la migración de ese tipo de datos.
Controlar los archivos binarios almacenados en el proyecto
Como procedimiento recomendado, los repositorios de GitHub deben limitarse a los archivos necesarios para compilar proyectos. Evite confirmar archivos binarios de gran tamaño, como artefactos de compilación. Archivos binarios como las hojas de cálculo y las presentaciones son más adecuados para seguimiento en portales que entienden cómo servirlos y controlar su versión correctamente. Si tiene que versionar archivos binarios grandes, considere la posibilidad de usar la extensión git LFS (almacenamiento de archivos grandes).
Crear archivos de Git importantes, como .gitignore
Git admite archivos .gitignore para ayudar a aplicar las directivas de control de versiones de archivos. Estos archivos definen los patrones de búsqueda utilizados para excluir archivos y carpetas del seguimiento del control de código fuente. En el ejemplo siguiente se excluyen de forma recursiva todas las carpetas denominadas Bin o bin, y su contenido, del seguimiento del control de código fuente.
[Bb]in/
Obtenga más información sobre ignorar archivos. Consulte también la colección de archivos de inicio .gitignore que se ofrecen para varias plataformas en el repositorio gitignore.
Hay muchos otros archivos que se suelen usar en los proyectos de GitHub para explicar las distintas directivas a los consumidores y colaboradores del repositorio. Aunque el proyecto sea privado y esté restringido a un público limitado, aún puede ser útil articular estas directivas de forma explícita. Aunque no se requiere ninguno de estos archivos, aquí se indican algunos de los comunes.
| Archivo | Propósito |
|---|---|
README.md |
Página de aterrizaje del directorio. Esta página se presenta cuando su directorio se ve en GitHub. |
LICENSE.md |
Este archivo contiene la licencia con la que se proporciona el código. |
CONTRIBUTING.md |
Explica cómo deben contribuir los usuarios al proyecto, por ejemplo, las expectativas de las solicitudes de incorporación de cambios. |
SECURITY.md |
Explica la directiva de seguridad del proyecto. Este archivo proporciona instrucciones a los usuarios que desean enviar código o comentarios confidenciales relacionados con la seguridad que no deben revelarse públicamente antes de abordarse. |
Obtenga más información sobre cómo configurar el proyecto para realizar contribuciones correctas.
Cargar el proyecto a GitHub
Una vez preparado el repositorio para la carga, cree un repositorio en GitHub. Una vez creado, vaya a la pestaña Código del repositorio de GitHub. Esta vista le proporciona varias maneras de cargar el código del proyecto.
Recomendamos que uses el cliente git o una herramienta compatible con Git para cargar tu origen. Como alternativa, puede cargar manualmente los archivos mediante el vínculo de creación de un archivo. A lo largo del largo plazo, es probable que encuentre que el uso de un cliente git es la mejor manera de administrar los cambios, las ramas y mucho más.