Cómo puedes aprender Git y GitHub mientras aprendes a codificar

En este artículo, te daré algunos consejos sobre cómo convertirte en un ninja de Git / GitHub. Además, como beneficio adicional, te mostraré cómo usar la Terminal (shell)mientras codifica. Entonces, si eres un principiante, esta publicación debería ayudarte a comprender esta tecnología. Y si ya eres un ninja, echa un vistazo para ayudarte a recordar cosas que quizás hayas olvidado.

Una breve introducción

Git y GitHub son herramientas extremadamente importantes para nuestra rutina como desarrolladores de software. Pero, ¿cómo podemos aprenderlos si tenemos tanto en nuestros platos cuando aprendemos código?

Soy Iago Rodrigues, brasileño. Soy estudiante de Systems Information, practicante de desarrollo de software y autónomo. Estoy al comienzo de mi carrera y quería compartir con ustedes algunos conocimientos que he adquirido. Entonces, ¡toma tu café y hackeamos!

Si es un lector de portugués, vaya aquí.

Puede utilizar este plan para estudiar cualquier lenguaje de programación como JavaScript, Python, Node y también HTML y CSS. No importa qué tecnología esté aprendiendo: la versión de su trabajo con Git es la forma predeterminada de programar.

Preparando el medio ambiente

Antes de comenzar, debemos configurar el entorno para guardar nuestro código y ejemplos de lo que estamos aprendiendo.

Para ello, debemos cumplir algunos requisitos:

  • instalar Git en nuestra máquina
  • crear una cuenta de GitHub
  • crear un espacio de trabajo en nuestra máquina

Si ya ha hecho esto, puede ir directamente al flujo de trabajo de GitHub y a la sección Terminal .

Instalación de Git en su máquina

La instalación de Git es diferente en cada sistema operativo. Consulte el sitio oficial de Git para ver cuál es la mejor opción para usted.

Pero si usa Windows (y habla portugués), le recomiendo este artículo.

Una vez que Git está instalado, necesitamos crear una cuenta de GitHub y configurarla en nuestra máquina.

Creando una cuenta en GitHub

Para crear una cuenta, vaya al sitio web de GitHub y complete el formulario principal.

Le recomiendo que elija un nombre de usuario real y agradable aquí para que pueda usar la cuenta en los currículums o en su cuenta de LinkedIn.

Debe informar a GitHub qué plan desea utilizar. Elija la opción gratuita . La única diferencia es que puede configurar repositorios privados con el plan pago.

GitHub le preguntará algunas cosas antes de finalizar la configuración de su cuenta. Puede responderlas ahora o simplemente pasar a la siguiente pantalla.

Con todo terminado, podemos comenzar nuestro proyecto.

Sin embargo, antes de crear nuestro repositorio, configuremos nuestro correo electrónico de GitHub y nuestro nombre de usuario en nuestra máquina.

Configurando nuestro sistema con nuestros datos de GitHub

Abre tu terminal. En Windows, debe abrir el menú de inicio y escribir cmd. Luego haz clic en Enter.

O puede instalar cmder (que es una buena opción) para usarlo en lugar de cmd , que es la Terminal de Windows predeterminada.

Con eso, tenemos que ejecutar el siguiente comando de shell en el cmder:

git config --global user.name "our_GitHub_user_name"

Ahora ingrese su dirección de correo electrónico de GitHub:

git config --global user.email "our_GitHub_user_email"

Configurando su clave de acceso de GitHub

Siempre que acceda a un repositorio a través de shell, debe tener permiso de acceso. Esto se otorga cuando inicias sesión en tu cuenta de GitHub. Pero, cada vez que envía algo a su repositorio (repositorio), debe pasar sus credenciales.

Para evitar esto, use una clave SSH. Esta es una clave de acceso que GitHub intercambia con la configurada en nuestra máquina.

Para crear esta clave, siga el proceso que se describe en la documentación de GitHub.

Con todo todo configurado, ¡estás listo para comenzar!

El flujo de trabajo de GitHub y la Terminal

Establezcamos una regla aquí:

Cada vez que creas un proyecto para estudiar algo, como hacer una página HTML o un juego de línea de comandos con Node.js o cualquier cosa, crearás un repositorio, lo clonarás en tu máquina, trabajarás en él usando ramas y harás pequeño se compromete a enviar a GitHub .

¡¿Acuerdo?!

Esto le garantizará la experiencia que necesitará para dominar estas herramientas.

Entonces empecemos.

Crea un nuevo proyecto

Regresemos a su página de GitHub y hagamos clic en el ícono más (+) en la parte superior de la página.

Haga clic en Nuevo repositorio .

Supongamos que está creando un proyecto para estudiar HTML, así que asigne un nombre a su repositorio learning-html . Podría ser el nombre de una página que se está creando o cualquier proyecto, como: curriculum-in-html , little-snake , tic-tac-toe , o cualquier otra cosa , ¿de acuerdo?

La descripción del proyecto es opcional. Pero creo que es importante ingresar algún texto útil allí, ya que identificará el alcance de su proyecto. Si otras personas quieren ayudarlo, pueden comprender brevemente su proyecto a través de la descripción. En su caso, puede ingresar algo como el repositorio de estudio de lenguaje HTML .

También debe crear un archivo README y definir el tipo de licencia que utilizará en el proyecto. Eche un vistazo a estos buenos ejemplos de READMEs, así como a la licencia para usar en el proyecto.

El archivo README es una descripción más completa de su proyecto, por lo que es una buena idea incluir información útil allí. Siga los ejemplos del enlace.

Aunque la licencia es opcional, es una buena práctica definirla. La licencia dirá lo que otras personas pueden hacer con su código. La licencia MIT es una de las más populares y le permite a usted (y a otros) hacer muchas cosas con el proyecto. Tómese su tiempo para buscar otros tipos de licencias si lo desea.

Crea tu espacio de trabajo

Una vez que haya creado el repositorio, puede clonarlo en su máquina. Pero antes de eso, necesitas crear una carpeta donde clonarás todos los repositorios futuros en los que trabajes.

Utilice la terminal para crear una carpeta que será su espacio de trabajo . Haces esto para mantener un sistema organizado, de lo contrario terminarás dispersando tus proyectos (y podrías perderlos como perdiste esos gifs de gatitos que guardaste en tu computadora…).

Suponiendo que ya instaló cmder, ahora podemos abrirlo (si no lo hizo, ahora es un buen momento) y estaremos en C:/Users/your_computer_name.

Si no está en esta ruta, use el comando:

cd %home%

Ejecute el comando mkdir folder_namepara crear el espacio de trabajo. Por ejemplo:

mkdir workspace

¡Eso es! Ahora tiene la carpeta predeterminada para sus proyectos y puede clonar sus repositorios allí.

Clona tus repositorios

Clonar un repositorio significa que copiará todos los archivos y directorios del servidor GitHub en su máquina para poder trabajar con ellos.

Ahora necesitas clonar el proyecto que creaste en GitHub en tu espacio de trabajo. Para hacer esto, vaya a la carpeta que acaba de crear. En cmder, escriba:

cd workspace\

Consejo : si creó la carpeta o desea acceder a una que ya existe, puede comenzar a escribir su nombre y presionar TAB, y cmder completará automáticamente el nombre por usted.

Con eso, vaya a la página de su proyecto en GitHub y obtenga el enlace que necesita para clonar el repositorio.

El enlace está en ese botón verde llamado Clonar o Descargar :

Cambie de HTTPS a SSH, porque ya configuró su clave de acceso en su cuenta.

Ahora puede ejecutar el git clonecomando y pasar el enlace que obtiene. Así:

git clone [email protected]:our-username/learning-html.git

Y su repositorio será clonado, como en la siguiente imagen:

Puede acceder a la carpeta del repositorio que se creó en su espacio de trabajo cuando lo clonó.

Escriba el comando: cd learning-html/

Atención : supongo que ahora estás dentro del workspacedirectorio. Si no es así, el comando anterior no funcionará. Utilice cd %home%\workspace\y luego el comando anterior.

Crea una sucursal

Cada vez que cambie algo en un proyecto versionado con Git, debe crear una rama con el nombre de la tarea en la que está trabajando. Esto evita que estropee el código "principal" ubicado en la rama maestra . Para ello, puede utilizar el siguiente comando:

git checkout -b task_name

Una rama es como la rama de un árbol. Es parte del tronco del árbol. Para que pueda realizar cambios en paralelo con la parte principal del proyecto sin afectarlo.

Por ejemplo:

Una vez que haya hecho esto, puede cambiar automáticamente a la rama recién creada y puede codificar como loco ahora.

Confirma los cambios

Una vez que termine un cambio en su proyecto, debe enviar el cambio a su repositorio remoto (el que está en los servidores de GitHub).

Para cometer algo es decirle a Git que usted está poniendo sus cambios en la cola para ser empujado (enviado) a su repositorio remoto.

Imagina que acabas de crear una página HTML y le agregas algunos títulos y texto. Ahora tiene la primera versión de este documento, por lo que debe enviarla.

Para hacer esto, ejecute algunos comandos para que Git entienda que queremos enviar nuestros cambios al repositorio remoto. Ejecutar git add file_namepara decirle a Git que prepare el archivo.

Alternativamente, puede ejecutar git add --allpara enviar todos los archivos en los que realizó algunos cambios. Con el git statuscomando, puede ver qué archivos modificados enviará al servidor.

En el ejemplo anterior, se creó el archivo index.htmly se ejecutó el comando git status para ver qué se cambió. Luego, el archivo se agregó con git add y el estado de git se ejecutó nuevamente para ver qué archivo se agregó al espacio de trabajo de Git.

Con eso ahora puede confirmar los cambios. Simplemente ejecute el comando git commit , como git commit -m "commit_message". Recuerde incluir un mensaje descriptivo de lo que se agregó a la confirmación.

Fusionando los cambios

Después de haber confirmado los cambios, ahora tiene una rama con modificaciones antes que las de la rama maestra . Eso significa que tiene una versión diferente del proyecto y necesita fusionar esos cambios con la versión principal del proyecto. Antes de hacer eso, verifique cuáles son las diferencias entre las ramas. En su rama, ejecute el comando:

git diff master

La salida será algo como:

Git le muestra la confirmación más reciente realizada, qué archivos se agregaron o cambiaron y qué se cambió también.

Como sabe que tiene diferencias entre su rama y el maestro, debe fusionarlas para unir las nuevas confirmaciones, que realizó en su rama, con el código en el maestro. Para hacer esto, debe ir a la rama maestra, en cmder, y ejecutar el comando git merge.

Para volver al maestro, corre git checkout master. Para fusionar las confirmaciones, ejecute git merge our_branch_name.

Git le mostrará un resultado que confirma lo que se agregó.

Enviándolo a GitHub

Una vez que haya realizado y combinado todos los cambios, ahora puede enviarlos a su repositorio remoto en GitHub.

Usará git push origin masterpara hacer esto.

También puede usar git push. Tendrá el mismo resultado. Pero cuando empuja cambios por primera vez en su espacio de trabajo, debe hacerlo git push origin masterpara que Git sepa que su espacio de trabajo es el origen del empuje.

Ahora su confirmación aparecerá en la página de su repositorio de GitHub:

Conclusión

En este tutorial, aprendiste a crear un proyecto en GitHub para que puedas seguir tu progreso cada vez que estudias algo nuevo. Esto le ayudará a conocer la línea de comandos (Terminal), los comandos de Git y GitHub. Además de eso, te ayudará a crear un buen portafolio que puedas mostrar en entrevistas de trabajo.

Practicar así también te ayudará a comprender mejor cómo usar Git con repositorios remotos (los repositorios alojados en alguna plataforma como GitHub ). También subirás de nivel tus conocimientos y habilidades en la Terminal.

No olvide las reglas básicas que estableció:

  • siempre crea un nuevo proyecto de estudio
  • trabajar en ramas
  • confirmar los cambios hasta que sea el momento de enviarlos a GitHub

¿De acuerdo? :)

¡Vuelve aquí y sigue esta guía paso a paso cada vez que olvides algo!

Mi nombre es Iago Rodrigues. Soy pasante en Brasil, en la ciudad de Belem.

Puedes seguirme en las redes sociales. Siempre es un placer ayudar con lo que pueda.

Iago Rodrigues (@iagokv) | Gorjeo

Los últimos Tweets de Iago Rodrigues (@iagokv). Desarrollador front-end | Vue.js padawan | Noob en la vida. Belém, Brasil twitter.com

¡Si! Lo sé. Mi foto de Twitter es algo ...