0.3 Github
Existen muchos proveedores de alojamiento para repositorios Git pero los más usados son GitHub y GitLab.
¿Qué es GitHub?¶
GitHub es el proveedor de alojamiento en la nube para repositorios gestionados con git más usado y el que actualmente tiene alojados más proyectos de desarrollo de software de código abierto en el mundo.
La principal ventaja de GitHub es que permite albergar un número ilimitado de repositorios tanto públicos como privados, y que además ofrece servicios de registro de errores, solicitud de nuevas funcionalidades, gestión de tareas, wikis o publicación de páginas web, para cada proyecto, incluso con el plan básico que es gratuito.
1. Configuración con clave publica-privada¶
Seguir el manual de github, que resumimos en estos puntos:
1.1. Generar la clave (Linux)¶
o:
Después introducir la ubicación del archivo (o dejarlo por defecto) y introducir la passphrase.
1.2. Añadir la clave a nuestra cuenta github¶
Siguiendo los pasos de la documentación.
Configurar nuestro equipo linux
Algunas redes bloquean el acceso al puerto 22 (como por ejemplo la red del instituto), por ello github tiene habilitada la posibilidad de acceder a ssh a través del puerto 443 (típicamente https). Para configurar nuestro equipo y acceder a github mediante ssh con nuestro usuario y nuestra clave debemos configurar el archivo ~/.ssh/config con el siguiente contenido:
2. Añadir un repositorio remoto (git remote add)¶
git remote add <repositorio-remoto> <url> crea un enlace con el nombre <repositorio-remoto> a un repositorio remoto ubicado en la dirección <url>.
Cuando se añade un repositorio remoto a un repositorio, Git seguirá también los cambios del repositorio remoto de manera que se pueden descargar los cambios del repositorio remoto al local y se pueden subir los cambios del repositorio local al remoto.
3. Lista de repositorios remotos (git remote)¶
git remote muestra un listado con todos los enlaces a repositorios remotos de nidos en un repositorio local. git remote -v muestra además las direcciones url para cada repositorio remoto.
4. Descargar cambios desde un repositorio remoto (git pull)¶
git pull <remoto> <rama> descarga los cambios de la rama <rama> del repositorio remoto <remoto> y los integra en la última versión del repositorio local, es decir, en el HEAD.
git fetch <remoto> descarga los cambios del repositorio remoto <remoto> pero no los integra en la última versión del repositorio local.
5. Subir cambios a un repositorio remoto (git push)¶
git push <remoto> <rama> sube al repositorio remoto <remoto> los cambios de la rama <rama> en el repositorio local.
6. Colaboración en repositorios remotos de GitHub¶
Existen dos formas de colaborar en un repositorio alojado en GitHub:
- Ser colaborador del repositorio:
Recibir autorización de colaboradorpor parte de la persona propietaria del proyecto.Clonarel repositorio en local.Hacer cambiosen el repositorio local.Subir los cambiosal repositorio remoto. Primero hacergit pullpara integrar los cambios remotos en el repositorio local y luegogit pushpara subir los cambios del repositorio local al remoto.- Replicar el repositorio y solicitar integración de cambios:
Replicarel repositorio remoto en nuestra cuenta de GitHub mediante unfork.Hacer cambiosen nuestro repositorio remoto.- Solicitar a la persona propietaria del repositorio original que
integre nuestros cambiosen su repositorio mediante unpull request.
7. GitHub Desktop¶
GitHub Desktop es una aplicación gratuita de código abierto que ayuda a trabajar con código hospedado en GitHub u otros servicios de hospedaje de Git. Con GitHub Desktop, puedes realizar comandos de Git, como confirmar e insertar cambios, en una interfaz gráfica de usuario, en lugar de mediante la línea de comandos.
Más información en Acerca de GitHub de escritorio.
7.1. Instalación GitHub Desktop¶
Descarga de la página oficial de GitHub Desktop.
Descarga el instalable en función del sistema operativo en el que estés.
7.2. Inicio de sesión¶
Después de la instalación puedes iniciar sesión con tu cuenta de GitHub. Para ello, primero se te redirigirá a la página web oficial de GitHub, donde podrás introducir tus datos de acceso.
Seguidamente, tienes que autorizar GitHub Desktop para que la aplicación acceda mediante tu cuenta y a tus repositorios. Para ello, haz clic en el botón “Authorize desktop”.
Una vez se te haya redirigido a GitHub Desktop, puedes completar el proceso de inicio de sesión introduciendo un nombre de cuenta y una dirección de correo electrónico o transfiriendo los datos correspondientes desde tu cuenta de GitHub. Al hacer clic en el botón “Finish”, accederás a la interfaz de usuario de GitHub Desktop.
Ahora podemos clonar nuestro repositorio de GitHub en uno local:
Elegimos, de nuestro repositorios remotos en GitHub, el que queremos clonar; y pulsamos "Clone":
Cuando esté clonado nuestro repositorio (punto 1) podremos observar si existen modificaciones a subir a nuestro repositorio remoto (punto 2). Si es así, ponemos un nombre a nuestro commit (punto 3) y pulsamos "Commit to master" (punto 4). En este momento tenemos el commit realizado en nuestro repositorio local; listo para actualizar al repositorio remoto en GitHub.
Para subir este(os) commits a remoto, pulsaremos el botón "Publish branch", y el cambio estará listo en el repositorio de GitHub: