GitHub es una plataforma de colaboración y gestión de versiones de código abierto para desarrolladores de software. Se basa en Git, una herramienta de versionado de código abierto. Proporciona una cronología de los desarrollos sin pérdidas, que puede ser fácilmente multiusuario especificando el autor, la fecha y la descripción (mensaje) de cada cambio realizado por uno de los usuarios. Existe un sistema de ramificación para distintas versiones de código con un núcleo común.
Lo que llamamos repositorio Git es una especie de sistema de archivos (base de datos), que registra las versiones de los archivos de un proyecto en momentos concretos en forma de instantáneas. Es importante hacer un seguimiento de tus desarrollos en tus proyectos bien estructurados.
Es importante saber que Github no es el único sitio de repositorios que funciona con Git. Las líneas de comandos de este tutorial también son compatibles con GitLab, Gerrit, Bitbucket y Codebase, por nombrar los más conocidos. En este tutorial, nos concentraremos en Github.
Instalación
Instala Git Bash: Esto permitirá que el Terminal de tu ordenador reconozca y ejecute los comandos Git que veremos más adelante.
También puedes instalar Git en Linux con el siguiente comando en la consola :
sudo apt-get install git
Instalando TortoiseGit: TortoiseGit es una extensión de Windows para utilizar comandos Git gráficamente a través del Explorador de Archivos. Las funciones Git serán opciones adicionales accesibles haciendo clic con el botón derecho en cualquier carpeta.
Clonar un repositorio
Una vez instalado Git, tienes que empezar por clonar un repositorio creado en Github. Una vez que tu repositorio de Github esté listo, abre el terminal de comandos y empieza por crear el directorio en tu ordenador que recibirá el clon del repositorio.
mkdir nom-de-repertoire cd nom-de-repertoire
Luego configuras Git con tus identificadores (adaptas el contenido):
git init git config --global user.name "VotrePrénom VOTRENOM"git config --global user.email "votremail@mail.com"
Y terminamos clonando el repositorio en un archivo :
git clone https://github.com/VotreRepository [NomRepertoire]
Descargar un repositorio desde la línea de comandos en Linux
Para descargar archivos de un repositorio, necesitas una clave de seguridad (o token) vinculada a tu cuenta de github.
Crear una clave SSH bajo github :
$ ssh-keygen -t ed25519 -C "your_email@example.com"
ejecute ssh-agent y añada la clave a ssh-agent
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_ed25519
Por último, añada la clave SSH a su cuenta
Introduzca el siguiente comando para mostrar la tecla » «.
$ cat ~/.ssh/id_ed25519.pub
Copia el resultado del comando en la configuración de tu cuenta de github, en el menú Claves SSH y GPG.
Una vez generada la clave y vinculada a su cuenta, puede introducir el siguiente comando para descargar el repositorio
git clone git@github.com:<account_name>/<repo_name>.git
Actualización de cambios (add, commit, push & pull)
Una vez que haya clonado su repositorio en su directorio, si ha realizado algún cambio en el directorio, ya sea un nuevo archivo o un cambio en un archivo existente, ahora necesita actualizar el repositorio en línea, que mantendrá un registro de sus cambios:
git add NomDuFichier.extension git commit -m "commentaire"
add añade un nuevo archivo o sus modificaciones al repositorio actual. Puedes hacer varios seguidos.commit te permite hacer cambios en el repositorio, incluyendo los archivos que acabas de añadir y los cambios hechos a los archivos con el git add. Puedes añadir (y esto es muy recomendable) un comentario al commit para especificar lo que has cambiado, añadido o borrado. Esto hará que el historial de confirmaciones en el repositorio sea más fácil de leer.
git push origin main
push se usa para empujar la rama actual a la rama a la que se quiere apuntar en el repositorio remoto. Aquí, origin main especifica empujar la rama principal (local) a la rama principal (origin). A partir de ahora, verás los cambios en tu repositorio aparecer en el repositorio en línea, junto con el commit y su comentario hechos justo antes. git add, git commit y git push son comandos complementarios.
git pull origin main
pull descarga y fusiona los nuevos datos del repositorio remoto en su directorio. Esto actualizará su directorio relativo al repositorio en línea con los últimos commits que han sido empujados a él. También puede añadir la opción -rebase antes del repositorio y el origen, para que en lugar de fusionar los nuevos datos, vuelva a basar su directorio (pero nunca haga esto en un repositorio público).
Listas de comandos básicos
Aquí tienes una lista no exhaustiva de comandos Git que es útil conocer:
git status
status muestra el estado de los archivos en el directorio actual. Existen 3 estados diferentes:- Archivos sin seguimiento: archivos no versionados (que no se han añadido y son nuevos) – Cambios para confirmar: modificaciones (adiciones, eliminaciones, cambios) cargadas en el área de preparación (añadir pero no confirmar) o indexadas – Cambios no preparados para confirmar: modificaciones que no se han cargado en el área de preparación (archivos que ya existen pero que no se han añadido ni confirmado).
git reset Nomdufichier.extension
reset cancela los cambios indexados en un archivo.
git checkout -- Nomdufichier.extension
checkout se utiliza para cancelar los cambios en un archivo que aún no se han indexado.
git log
log muestra el historial de commits.
git rm Nomdufichier.extension
rm se utiliza para indexar la eliminación de un archivo. Puede añadir la opción -cached antes del nombre de archivo para recuperar el archivo.
git diff
diff se utiliza para mostrar los detalles de las modificaciones no indexadas. Puede añadir la opción – staged para las modificaciones indexadas.
git remote
remote se utiliza para mostrar la lista de todos los repositorios remotos del proyecto (algunos proyectos pueden trabajar con diferentes repositorios remotos para un mismo proyecto).
git remote add Nom https://github.com/VotreRepository
remote add es una alternativa a git clone, pero donde git clone copia el repositorio online, aquí añades un nuevo repositorio junto a uno que ya existe en tu ordenador en tu directorio.
git fetch origin
fetch recupera cambios de un repositorio remoto (el nombre del repositorio suele ser origin pero puedes adaptarlo a tus necesidades).
Utilizar Tortuga
Para aquellos a los que no les apetezca escribir líneas de comandos en un terminal en Windows, pueden usar TortoiseGit para usar Git gráficamente.
Cree una carpeta vacía y haga clic con el botón derecho sobre ella. Aparecerán las opciones de TortoiseGit, dándole acceso a los diversos comandos Git:
Comenzamos configurando TortoiseGit pulsando en Configuración :
Para cambiar el nombre y el correo electrónico, haz clic en Editar global .gitconfig e introduce tu nombre y correo electrónico.
A continuación, puede clonar un repositorio haciendo clic en Clonar :
La primera vez que clones un repositorio, puede que se abran ventanas adicionales pidiéndote que te conectes a tu cuenta de Github. Por favor, hágalo.
Para recuperar los datos, simplemente haga clic en Pull. Aquí puedes elegir de qué rama y de qué repositorio recuperar los datos:
Para enviar localmente los cambios realizados, basta con hacer clic en Confirmar. Es aconsejable escribir un comentario, el nombre del autor del commit y la fecha y hora. También puede hacer Push al mismo tiempo utilizando la opción Commit&Push. Haga clic en Registro para ver el historial de confirmaciones: