Cómo preparar y cargar un proyecto existente en GitHub

Completado

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 diaria de los desarrolladores que usan Git, por lo que entenderlas y saber cuándo y cómo usarlas de forma eficaz es necesario para el éxito en GitHub. Merece la pena que el equipo esté familiarizado con el flujo de GitHub para que puedas trabajar 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, así como controles de acceso pormenorizados para diferentes partes de un repositorio. Esto te permite controlar para quién son visibles los proyectos, así como qué acciones puede realizar un determinado usuario.

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 necesita controlar la versión de archivos binarios de gran tamaño, piense en usar la extensión de Git Git LFS (Large File Storage).

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 excluye recurrentemente cualquier carpeta denominada Bin o bin, y su contenido, proveniente del seguimiento del control de código fuente.

[Bb]in/

Más información sobre cómo Ignorar archivos. Vea también la colección de archivos de inicio .gitignore que se ofrece para varias plataformas en el repositorio de 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.

Más información para Configurar su proyecto para contribuciones saludables.

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.

Captura de pantalla de la importación de código a un repositorio de GitHub.

Se recomienda usar el cliente git o una herramienta compatible con Git para cargar el código fuente. También puede cargar manualmente los archivos mediante el vínculo crear un nuevo archivo. A lo largo del largo plazo, es probable que vea que el uso de un cliente git es la mejor manera de administrar cambios, ramas, etc.