Los mejores tutoriales de Git

Git es un sistema de control de versiones distribuido de código abierto creado en 2005 por Linus Torvalds y otros de la comunidad de desarrollo de Linux. Git puede funcionar con muchos tipos de proyectos, pero se usa más comúnmente para el código fuente de software.

El control de versiones es un sistema que realiza un seguimiento de los cambios en un archivo o grupo de archivos a lo largo del tiempo. Cuando tiene un historial de estos cambios, le permite encontrar versiones específicas más adelante, comparar cambios entre versiones, recuperar archivos que haya eliminado o revertir archivos a versiones anteriores.

Un sistema de control de versiones distribuido significa que diferentes usuarios mantienen sus propios repositorios de un proyecto, en lugar de trabajar desde un repositorio central. Los usuarios tienen automáticamente capacidades completas de seguimiento de archivos y el historial de versiones completo del proyecto sin necesidad de acceder a un servidor central o red.

Cuando se inicializa Git en un directorio de proyecto, comienza a rastrear los cambios de archivo y los almacena como "conjuntos de cambios" o "parches". Los usuarios que trabajan juntos en un proyecto envían sus conjuntos de cambios que luego se incluyen (o rechazan) en el proyecto.

freeCodeCamp tiene una lista de reproducción de YouTube con muchos consejos prácticos de Git y GitHub aquí.

Otros tutoriales:

  • El libro Pro Git, escrito por Scott Chacon y Ben Straub y publicado por Apress. El libro se muestra en su totalidad en la documentación de Git.
  • Para descargas, documentación y un tutorial basado en navegador: sitio web oficial de Git
  • Los comandos más útiles cuando estás en una mala situación de GIT: ¡Oh, mierda!

Comprender las tres secciones de un proyecto Git

Un proyecto de Git tendrá las siguientes tres secciones principales:

  1. Directorio de Git
  2. Directorio de trabajo (o árbol de trabajo)
  3. Área de ensayo

El directorio de Git (ubicado en YOUR-PROJECT-PATH/.git/) es donde Git almacena todo lo que necesita para realizar un seguimiento preciso del proyecto. Esto incluye metadatos y una base de datos de objetos que incluye versiones comprimidas de los archivos del proyecto.

El directorio de trabajo es donde un usuario realiza cambios locales en un proyecto. El directorio de trabajo extrae los archivos del proyecto de la base de datos de objetos del directorio Git y los coloca en la máquina local del usuario.

El área de preparación es un archivo (también llamado "índice", "etapa" o "caché") que almacena información sobre lo que se incluirá en su próxima confirmación. Una confirmación es cuando le dices a Git que guarde estos cambios por etapas. Git toma una instantánea de los archivos tal como están y almacena permanentemente esa instantánea en el directorio de Git.

Con tres secciones, hay tres estados principales en los que un archivo puede estar en cualquier momento: comprometido, modificado o preparado. Usted modifica un archivo cada vez que se hacen cambios en su directorio de trabajo. A continuación, se pone en escena cuando lo mueve al área de preparación. Finalmente, se confirma después de una confirmación.

Instalar Git

  • Ubuntu: sudo apt-get install git
  • Windows: Descargar
  • Mac: Descargar

Configurar el entorno de Git

Git tiene una git configherramienta que le permite personalizar su entorno Git. Puede cambiar la apariencia y las funciones de Git estableciendo ciertas variables de configuración. Ejecute estos comandos desde una interfaz de línea de comandos en su máquina (Terminal en Mac, Símbolo del sistema o Powershell en Windows).

Hay tres niveles donde se almacenan estas variables de configuración:

  1. Sistema: ubicado en /etc/gitconfig, aplica la configuración predeterminada a todos los usuarios de la computadora. Para realizar cambios en este archivo, use la --systemopción con el git configcomando.
  2. Usuario: ubicado en ~/.gitconfigo ~/.config/git/config, aplica la configuración a un solo usuario. Para realizar cambios en este archivo, use la --globalopción con el git configcomando.
  3. Proyecto: ubicado en YOUR-PROJECT-PATH/.git/config, aplica la configuración al proyecto únicamente. Para realizar cambios en este archivo, use el git configcomando.

Si hay configuraciones que entran en conflicto entre sí, las configuraciones de nivel de proyecto anularán las de nivel de usuario y las configuraciones de nivel de usuario anularán las de nivel de sistema.

Nota para los usuarios de Windows: Git busca el archivo de configuración a nivel de usuario ( .gitconfig) en su $HOMEdirectorio ( C:\Users\$USER). Git también busca /etc/gitconfig, aunque es relativo a la raíz de MSys, que es donde decide instalar Git en su sistema Windows cuando ejecuta el instalador. Si está utilizando la versión 2.xo posterior de Git para Windows, también hay un archivo de configuración a nivel de sistema en C:\Documents and Settings\All Users\Application Data\Git\configWindows XP, y en C:\ProgramData\Git\configWindows Vista y versiones posteriores. Este archivo de configuración solo puede ser cambiado por git config -f FILEun administrador.

Agregue su nombre y correo electrónico

Git incluye el nombre de usuario y el correo electrónico como parte de la información en una confirmación. Querrá configurar esto en su archivo de configuración a nivel de usuario con estos comandos:

git config --global user.name "My Name" git config --global user.email "[email protected]"

Cambie su editor de texto

Git usa automáticamente su editor de texto predeterminado, pero puede cambiarlo. Aquí hay un ejemplo para usar el editor Atom en su lugar (la --waitopción le dice al shell que espere al editor de texto para que pueda hacer su trabajo en él antes de que el programa continúe):

git config --global core.editor "atom --wait"

Agregar color a la salida de Git

Puede configurar su shell para agregar color a la salida de Git con este comando:

git config --global color.ui true

Para ver todas sus opciones de configuración, use el comando git config --list.

Inicializar Git en un proyecto

Una vez que Git está instalado y configurado en su computadora, debe inicializarlo en su proyecto para comenzar a usar sus poderes de control de versiones. En la línea de comando, use el cdcomando para navegar a la carpeta de nivel superior (o raíz) de su proyecto. A continuación, ejecute el comando git init. Esto instala una carpeta de directorio de Git con todos los archivos y objetos que Git necesita para rastrear su proyecto.

Es importante que el directorio Git esté instalado en la carpeta raíz del proyecto. Git puede rastrear archivos en subcarpetas, pero no rastreará los archivos ubicados en una carpeta principal en relación con el directorio de Git.

Obtenga ayuda en Git

Si olvidas cómo funciona cualquier comando en Git, puedes acceder a la ayuda de Git desde la línea de comandos de varias formas:

git help COMMAND git COMMAND --help man git-COMMAND

Esto muestra la página del manual para el comando en su ventana de shell. Para navegar, desplácese con las teclas de flecha hacia arriba y hacia abajo o use los siguientes atajos de teclado:

  • fo spacebarpara avanzar una página
  • b volver a la página
  • q abandonar

Diferencia entre Git y GitHub

Git y Github son dos cosas diferentes. Git es el sistema de control de versiones, mientras que GitHub es un servicio para alojar repositorios de Git que ayuda a las personas a colaborar en la escritura de software. Sin embargo, a menudo se confunden por su nombre similar, por el hecho de que GitHub se basa en Git y porque muchos sitios web y artículos no hacen la diferencia entre ellos lo suficientemente clara.

Git no es GitHub

Git

Git es el sistema de control de versiones distribuido. Git es responsable de realizar un seguimiento de los cambios en el contenido, generalmente archivos de código fuente.

Para obtener más información, hay un artículo completo sobre Git.

GitHub

GitHub es un servicio que proporciona alojamiento de repositorios Git. Eso significa que proporcionan una solución llave en mano para alojar repositorios de Git en sus servidores. Eso puede ser útil para mantener una copia de seguridad de su repositorio (Git solo rastrea los cambios realizados en sus archivos a lo largo del tiempo; el repositorio aún necesita una copia de seguridad) y para tener un lugar centralizado para guardar y compartir su código con otros.

Más que un servicio de alojamiento de repositorios de Git, GitHub es una falsificación de software. Eso significa que también proporciona un rastreador de problemas, herramientas para la revisión de código y otras herramientas para colaborar con otras personas y crear software.

GitHub no es el único que brinda este tipo de servicio. Uno de sus principales competidores es GitLab. Para obtener más información sobre esto, consulte la sección sobre alojamiento Git.

Cómo autenticarse con GitHub usando SSH

Compruebe que no haya rsaarchivos aquí antes de continuar, use:

ls -al ~/.ssh

Si no hay nada que enumerar (es decir : No such file or directory), utilice:

mkdir $HOME/.ssh

Si no hay nada allí, genere un nuevo keygen con:

ssh-keygen -t rsa -b 4096 -C [email protected]

Ahora el uso ls -al ~/.sshmostrará nuestro id_rsa.pubarchivo.

Agregue la clave SSH al agente SSH:

eval "$(ssh-agent -s)" # for mac and Linux from bash
eval `ssh-agent -s` ssh-agent -s # for Windows

Agregue la clave RSA a SHH con:

ssh-add ~/.ssh/id_rsa

Copia tu clave al portapapeles

clip < ~/.ssh/id_rsa.pub # Windows
cat ~/.ssh/id_rsa.pub # Linux

Vaya a la página de configuración de GitHub y haga clic en el botón 'Nueva clave SSH' y pegue la clave generada.

Luego autentíquese con:

ssh -T [email protected]