GitHub
La red social de desarrolladores de Git.
GitHub es un plataforma web que permite crear repositorios donde almacenar código y administrarlo de forma sencilla y remota, pudiendo acceder desde cualquier dispositivo mediante el sistema Git. Con GitHub es posible compartir proyectos entre millones de usuarios que comparten sus repositorios, además dispone de servicios de pago enfocados al entorno de empresa.
Crear un repositorio es realmente rápido y sencillo. Solamente es necesario acceder a la plataforma, buscar la opción nuevo repositorio(New repository), que se encuentra en la sección de usuario en la barra de navegación superior(menú desplegable).
Nota: Para acceder a la sección de usuario en la plataforma de GitHub es necesario disponer de una cuenta en GitHub.
Una vez pulsado el enlace de nuevo repositorio la plataforma redirige a un formulario, el cual, el único requisito necesario es añadir el nombre del repositorio.
Al pulsar el botón de Crear repositorio se creará automáticamente el repositorio y aparecerá en la lista de repositorios de GitHub.
CLONAR REPOSITORIO
Git dispone del comando clone que permite clonar un repositorio externo al propio sistema, para ello, es requisito necesario añadir la ruta del repositorio.
git clone [ruta_repositorio]
Los repositorios en GitHub incluyen un botón verde que al dar clic sobre él despliega una ventana que proporciona tanto la ruta como la descarga del repositorio.
Existe la posibilidad de clonar un repositorio externo a nuestra cuenta, para ello GitHub dispone del botón Fork situado bajo la barra de navegación superior.
Las llaves SSH se utilizan para poder identificar a un usuario que desea realizar cambios en sus repositorios. Mediante el comando ssh-keygen es posible generar una llave pública para después añadirla a la lista de llaves en nuestra cuenta de GitHub. Para generar la llave es necesario añadir un correo electrónico válido y para finalizar es necesario validar varias opciones. Estas opciones están relacionadas con la ruta de la llave, añadir una contraseña u omitirla,...
ssh-keygen -t rsa -b 4096 -C "[correo_electrónico]"
Una vez generada la llave, solo queda añadirla a la lista de llaves de nuestra cuenta GitHub. Para poder copiarla se hace uso del comando cat (muestra el código de la llave en pantalla) que permite copiar el código manualmente, esto es, seleccionando con el mouse el código y realizando la acción de copia (mediante "Ctrl + C" o "clic derecho y copiar").
cat ~/.ssh/id_rsa.pub
Con la llave copiada en el portapapeles solo queda añadirla al formulario de creación de la nueva llave SSH. Para ello es necesario dirigirse a la sección de ajustes "SSH and GPG keys" que se puede llegar desde el menú desplegable del perfil de usuario y pulsando sobre ajustes(settings).
El botón de color verde "New SSH key" redirige al formulario de creación de la nueva llave.
A continuación se le asigna un título a la nueva llave y se pega el contenido de la llave copiada sobre el área de texto.
ENLAZAR REPOSITORIO
CREAR ENLACE
Mediante remote add es posible crear un enlace a un repositorio externo, para ello es necesario un nombre (por convención origin) y la ruta tomada del repositorio.
git remote add origin [ruta_repositorio]
REVISAR LISTA
git remote -v
ELIMINAR ENLACE
git remote remove origin
OBTENER DATOS DE REPOSITORIO EXTERNO
El comando fetch (adjuntando el nombre del enlace y la rama) pone a disposición los datos del repositorio. Para poder mezclarlos, al igual que en Git, se realiza mediante el comando merge.
git fetch origin master
git merge origin/master
Nota: En caso de fatal:refusing to merge unrealted histories añadir la siguiente opción
git merge origin/master --allow-unrelated-histories
El comando pull es equivalente a los comandos fetch y merge al mismo tiempo.
git pull origin master
ENVIAR DATOS A REPOSITORIO EXTERNO
El comando push envia datos al repositorio externo.
Ejemplo enviando las versiones.
git push origin master --tags
Ejemplo enviando una rama
git push origin rama3
En ocasiones se cometen errores y al enviar un commit al repositorio de Github con push se quiere deshacer. Localmente es sencillo, se realiza un git reset con alguna de sus opciones y listo, pero al realizar un nuevo git push la consola devuelve un error, para ello existe la opción forzada.
git push -f
ISSUES Y PULL REQUESTS
Los issues son informes que indican algún tipo de fallo del repositorio de GitHub. Los pull requests permiten realizar nuevos cambios de forma remota al repositorio. Tanto para issues como para pull requests es recomendable la creación de plantillas que faciliten la creación de nuevos issues y nuevos pull requests. Para ello es necesario crear un archivo con nombre issue_template.md y otro archivo con nombre pull_request_template.md. Se pueden crear desde la interface de GitHub.
## Exposición del problema
Explicación paso a paso
## Tipo de navegador y versión
En caso de distintos navegadores especificar el navegador y su versión en el cual da fallo.
#Descripción
¿Qué ha cambiado?
- [ ] Frontend
- [ ] Backend
- [ ] Configuración del server
#¿Cómo puedo probar los cambios?
De esta forma al crear un nuevo issue o un nuevo pull request la plantilla se integra automáticamente.
IGNORAR ARCHIVOS
A menudo es necesario realizar cambios y a la vez ignorar archivos de nuestro repositorio para que no se muestren en el repositorio externo. Git dispone de una forma de ignorar estos archivos mediante la creación del archivo .gitignore, incluyendo en éste, los archivos a ignorar.
PULL REQUEST
Pull request es el proceso de revisión y aprobación por parte del colaborador o colaboradores de los cambios en una rama alternativa antes de que se mezcle a la rama principal, teniendo en cuenta, que ésta debe estar protegida.
Para poder comentar es necesario iniciar sesión