Original article: How to Create and Sync Git and GitHub Repositories

Nota del traductor: Este post contiene muchos videos que sirven para complementar la información del mismo, los videos están en inglés pero es posible verlos con los subtítulos autogenerados que proporciona YouTube.

Trabajar con Git y GitHub suele ser una parte esencial de sus tareas diarias de programación. En muchos casos, necesitarás tanto un repositorio Git local como un repositorio GitHub remoto para un proyecto.

  • Con el repositorio local, trabajas en tu propia copia del proyecto. Usted realiza y prueba los cambios de forma independiente antes de enviarlos al repositorio remoto para que otros los revisen y combinen.
  • El repositorio remoto se usa para almacenamiento externo y para compartir el proyecto con otros.

Este tutorial se divide en 2 escenarios:

  • Local primero: primero crea un repositorio local y envía su código a ese repositorio. Más adelante, creará un repositorio remoto. Con los dos repositorios instalados, querrás mantenerlos sincronizados. Este escenario es común si ha iniciado un proyecto por su cuenta y luego desea compartirlo.
  • Remoto primero: en este escenario, existe un repositorio remoto y desea trabajar con ese código. Utilice ese repositorio remoto para crear su repositorio local para poder realizar y probar cambios localmente. Con los dos repositorios instalados, querrás mantenerlos sincronizados. Este escenario es común si está trabajando en un equipo o en un proyecto de código abierto que tiene un repositorio de GitHub existente.

Esto es lo que trataremos en este tutorial:

  1. ¿Qué significan Git, GitHub y Repositorio?
  2. ¿Cómo instalar Git y GitHub?
  3. Escenario 1: Primero local
  4. ¿Cómo crear un repositorio local?
  5. ¿Cómo confirmar archivos en el repositorio local?
  6. ¿Cómo crear un repositorio remoto de GitHub?
  7. ¿Cómo conectar Git y Github?
  8. ¿Cómo sincronizar los repositorios local y remoto?
  9. Escenario 2: Primero remoto
  10. ¿Cómo clonar un repositorio?
  11. Terminando

Comencemos con una breve introducción a los términos que estamos usando y luego pasemos a nuestros dos escenarios.

¿Qué significan Git, GitHub y repositorio?

Un repositorio, o "repo" para abreviar, almacena y rastrea las versiones de los archivos de su proyecto. A medida que realiza cambios en esos archivos, confirma (o copia) esos archivos en el repositorio para su custodia. El repositorio mantiene una lista de todos los cambios confirmados, denominada historial de confirmaciones o commit history en inglés.

Git es un sistema de control de versiones popular y ampliamente utilizado para crear y trabajar con repositorios. Se ejecuta localmente en su computadora. Puedes descargar, instalar y usar Git en cualquier plataforma sin ningún costo ni tarifa. Con Git, creas un repositorio local en la carpeta de trabajo de tu proyecto y Git almacena el historial de confirmación de los archivos en esa carpeta.

Si eres nuevo en Git, considera ver este vídeo como introducción:

GitHub es un sitio web que aloja repositorios remotos en Internet. Una cuenta básica de GitHub también es gratuita. Utilice GitHub para crear un repositorio remoto para su proyecto. Con un repositorio remoto, puede almacenar su código fuera del sitio, colaborar con otros, trabajar en proyectos de la empresa o de código abierto y mostrar su portafolio a posibles empleadores.

Si eres nuevo en GitHub, considera ver este vídeo como introducción:

Antes de saltar a nuestros escenarios, necesitamos instalar Git y crear una cuenta de GitHub.

¿Cómo instalar Git y GitHub?

Si desea trabajar con los ejemplos presentados en este tutorial, existen algunos pasos preparatorios. Pero no dudes en pasar a la siguiente sección si ya tienes estas herramientas instaladas o prefieres leer este artículo sin codificar.

Primero, instala Git en tu computadora si aún no lo tienes. Para obtener instrucciones paso a paso sobre cómo instalar Git, vea la segunda parte de este video:

A continuación, cree una cuenta de GitHub, si aún no tiene una. Este video proporciona instrucciones paso a paso sobre cómo crear una cuenta de GitHub:

Por último, cree una carpeta de trabajo en su computadora (yo nombré mis recetas en mi carpeta de documentos). Luego cree dos archivos de texto simples en esa carpeta: archivo1.txt y archivo2.txt. Aunque estemos usando archivos de texto, el proceso de sincronización cubierto en este artículo es el mismo con cualquier tipo de archivos de código.

Ahora estamos listos para analizar nuestros dos escenarios: primero el local y primero el remoto.

Escenario 1: Primero local

Supongamos que desea crear un sitio web de recetas (o tal vez una aplicación) para recopilar y administrar recetas. Crea un repositorio local para poder rastrear fácilmente sus cambios en los archivos del proyecto.

Más tarde decide que también desea un repositorio remoto para mantener una copia de sus archivos fuera del sitio y compartir el proyecto con otros. Una vez que tenga el repositorio remoto, querrá mantener su repositorio local sincronizado con ese repositorio remoto.

Este escenario se muestra en la Figura 1:

Figure1-local-repo
Figura 1: creando un repositorio local primero.

Según los números de la Figura 1:

  1. Primero se crea el repositorio local, representado como un cuadro.
  2. El repositorio remoto se crea con GitHub algún tiempo después.
  3. Los dos repositorios se mantienen sincronizados.

Repasemos estos pasos en detalle.

¿Cómo crear un repositorio local?

Ya preparamos una carpeta de trabajo y creamos dos archivos que son el comienzo de nuestro proyecto.

Para crear un repositorio local para ese proyecto, abra su terminal o símbolo del sistema y navegue hasta esa carpeta de trabajo.

Luego inicializa un nuevo repositorio Git usando el siguiente comando:

git init

Este comando inicializa un nuevo repositorio Git en la carpeta actual. El proceso de inicialización crea una carpeta .git dentro de la carpeta del proyecto que almacena los archivos y datos del repositorio.

Esta carpeta .git puede estar oculta de forma predeterminada. En el Finder de Mac, use Command + Mayús +. (punto) para que aparezcan carpetas y archivos ocultos. En Windows, use la pestaña Ver del Explorador de archivos y marque Elementos Ocultos para mostrar carpetas y archivos ocultos.

¡Ahora tenemos un repositorio local! Agreguemos nuestros dos archivos de proyecto en ese repositorio.

¿Cómo confirmar archivos en el repositorio local?

Cada vez que creamos archivos nuevos, cambiamos archivos existentes o eliminamos archivos, enviamos esos cambios a nuestro repositorio local. Esto asegura que el repositorio rastree el estado actual de nuestro proyecto.

Enviar archivos a un repositorio local requiere dos pasos:

  1. Stage (Área de preparación)
  2. Commit (Confirmación)

Primero, agregue los archivos al área de preparación de Git:

git add .

Le decimos a Git qué archivos queremos incluir en esa confirmación agregándolos a un área de preparación. La puesta en escena nos permite elegir selectivamente qué cambios incluir en una confirmación.

Utilizando el . (punto) agrega todos los archivos en la carpeta de trabajo (y sus subcarpetas) al área de preparación. Si solo desea agregar archivos específicos, puede enumerarlos.

A continuación, confirmamos los archivos preparados en el repositorio local:

git commit -m "Confirmación inicial"

Este comando envía los archivos en el área de preparación de Git al repositorio local.

La opción -m es para un mensaje de confirmación. Siga la -m con el mensaje, entre comillas. Asegúrese de definir un mensaje claro que describa los cambios que está realizando.

Para obtener más información sobre cómo definir excelentes mensajes de confirmación, vea este video:

Después de estos pasos, el terminal aparece como se muestra a continuación:

Figure2-git-init-1
Figura 2. Creación de un repositorio local, luego preparación y confirmación de los archivos del proyecto.

El comando init muestra un mensaje de estado que nos indica que creó un repositorio Git vacío.

El comando add no proporciona ningún resultado.

El comando commit muestra la rama en la que estamos ( main en este ejemplo), los primeros caracteres de la identificación de la confirmación y el mensaje de confirmación. Luego enumera los archivos modificados. En este ejemplo, se cambiaron 2 archivos y ambos fueron inserciones (archivos nuevos).

El número después del modo de creación indica el tipo de archivo y los permisos. 100644 significa que se trata de archivos normales, no carpetas, con permisos de lectura y escritura del propietario.

Con nuestro repositorio local implementado, es hora de crear nuestro repositorio remoto.

¿Cómo crear un repositorio remoto en GitHub?

Ahora crearemos un repositorio remoto en GitHub. Vaya al sitio web de GitHub en www.github.com e inicie sesión. Si no tiene una cuenta de GitHub, consulte la sección "Cómo instalar Git y GitHub" anteriormente en este tutorial para conocer los pasos para crear una cuenta.

Mire este video para ver el proceso de creación de un repositorio de GitHub:

Después de iniciar sesión en GitHub, se le dirigirá a su panel personal. Su panel personal de GitHub proporciona información sobre sus repositorios y proyectos.

Si es la primera vez que creas un repositorio en GitHub, proporciona el botón Crear Repositorio para ayudarte a comenzar. Si ya ha estado usando GitHub, verá un botón Nuevo en su lugar.

En cualquier caso, al hacer clic en el botón se accede a la página Crear un nuevo repositorio, como se muestra en la Figura 3.

Figure3-create-new-repo
Figura 3. Cree un nuevo repositorio remoto con GitHub.

Comience ingresando el nombre del repositorio. El nombre de un repositorio debe ser breve, pero descriptivo de su proyecto. Debe ser único dentro de su cuenta de GitHub. GitHub lo comprueba por ti.

Las convenciones generales para los nombres de los repositorios sugieren el uso de minúsculas. Si hay varias palabras, utilice guiones entre las palabras, como libro- de-recetas.

Llamé a mi repositorio de recetas. Y la flecha verde al lado del nombre significa que es único dentro de esta cuenta de GitHub.

Opcionalmente, puede proporcionar una descripción. Aquí es donde puedes poner más información sobre el repositorio, si lo deseas.

A continuación, tienes la opción de crear un repositorio público o privado. Si crea un repositorio público, cualquiera en Internet puede verlo. Pero sólo los colaboradores que tú elijas pueden comprometerse con ello. Así que no tienes que preocuparte de que extraños cambien tus archivos. Si crea un repositorio privado, será privado excepto para los colaboradores elegidos.

Considere hacer públicos sus repositorios para compartir su código con otros, a menos que su código sea propietario.

Luego tiene la opción de crear un archivo Readme (Léame). Un archivo Readme les da a quienes miran un repositorio una idea de para qué sirve ese repositorio e instrucciones sobre cómo usarlo. Marque la casilla para agregar un archivo Readme.

Una plantilla .gitignore le ayuda a identificar qué archivos de su carpeta de trabajo no desea incluir en el seguimiento de versiones de Git. Para una aplicación, no desea incluir archivos de compilación intermedios, por ejemplo, ya que suelen ser grandes y pueden reconstruirse fácilmente a partir de archivos fuente. Para este proyecto simple, no necesitamos una plantilla .gitignore.

Lo siguiente es elegir una licencia. Una licencia permite a otros desarrolladores saber qué pueden hacer con el código de su repositorio. Por ejemplo, si podrían utilizar libremente el código para sus propios proyectos.

GitHub proporciona un sitio web para ayudarle a tomar una decisión. Haga clic en obtener más información en la opción Elegir una licencia para ir a la documentación de GitHub. En la página de documentación, encontrará un enlace de choosealicense.com para obtener ayuda para seleccionar qué licencia es adecuada para su proyecto.

Para mi repositorio de recetas, haré que la licencia sea simple y permisiva y elegiré una licencia MIT.

Cierre la pestaña del navegador de documentación, regrese a la pestaña GitHub y seleccione la licencia deseada de la lista.

Justo encima del botón Crear Repositorio, GitHub proporciona un resumen para que puedas verificar la acción que estás a punto de realizar. Luego haga clic en Crear Repositorio.

Crea el repositorio como se muestra en la Figura 4.

Figure4-github-repo
Figura 4. Nuestro repositorio remoto de GitHub.

Como puede ver en la Figura 4, ¡GitHub realizó automáticamente nuestra primera confirmación! Esa confirmación es una instantánea de los dos archivos que le dijimos que agregara al repositorio: nuestro archivo de licencia y el archivo Léame. Estableció un mensaje de confirmación de "compromiso inicial". Y de forma predeterminada, GitHub muestra el contenido de nuestro archivo Léame.

En este punto, nuestro repositorio local contiene nuestros dos archivos de texto. Y nuestro repositorio remoto contiene nuestra licencia y archivos Léame. Queremos que los dos repositorios coincidan.

¿Cómo conectar Git y Github?

Antes de poder sincronizar los repositorios local y remoto, debe establecer una conexión entre ellos. Básicamente, necesita indicarle a su repositorio local dónde encontrar el repositorio remoto.

Identificamos un repositorio remoto por su URL. En la Figura 4 anterior, observe el botón verde Código. Haga clic en ese botón para ver detalles sobre el repositorio (Figura 5).

Figure5-repo-link
Figura 5. Encontrar la URL del repositorio de GitHub.

Asegúrese de que la pestaña HTTPS esté seleccionada y haga clic en el icono de copiar para copiar la URL de este repositorio de GitHub.

De vuelta en la ventana de comandos de su máquina local, agregue el repositorio remoto al repositorio local. Luego enumere los controles remotos para confirmar que se creó el control remoto.

git remote add recipes-gh https://github.com/DeborahK/recipes.git
git remote

El comando remote add agrega el repositorio remoto en la URL proporcionada. Y le permite asignar un alias para ese repositorio para que no tenga que escribir la URL cuando haga referencia al repositorio remoto.

Un alias común para el repositorio remoto es origin, pero algunos encuentran ese nombre un poco confuso, especialmente si el repositorio remoto no fue el origen del proyecto. En ese caso, a veces uso el nombre del repositorio local con -gh (para GitHub) como apodo del repositorio remoto, para poder recordarlo fácilmente. Pero siéntete libre de usar cualquier nombre.

El comando remote por sí solo muestra la lista de controles remotos que conoce su repositorio local. Así es como se ve:

Figure6-add-remote
Figura 6. Estableciendo una conexión con el repositorio remoto.

Nuestro repositorio Git local ahora sabe dónde encontrar su repositorio remoto asociado. El siguiente paso es sincronizar los repositorios para que coincida su historial de confirmaciones.

¿Cómo sincronizar un Repositorio Local con un Repositorio Remoto?

Para sincronizar nuestros repositorios local y remoto, primero recuperamos el historial de cambios del repositorio remoto y lo fusionamos en nuestro repositorio local usando el comando pull. Luego enviamos nuestro historial de cambios local al repositorio remoto usando el comando push.

Si prefieres sincronizar repositorios usando VS Code, mira este video:

Para extraer del repositorio remoto y fusionarlo con nuestro repositorio local usando un comando de Git:

git pull recetas-gh main --allow-unrelated-histories

dir		// En Windows
o
ls		// En Mac

El comando pull requiere el alias del repositorio remoto (recetas-gh) y el nombre de la rama. Como no hemos creado ninguna rama adicional, especificamos la rama principal ( main ).

La bandera --allow-un related-histories es necesaria la primera vez que extraemos porque queremos fusionar dos repositorios que se crearon por separado y actualmente no comparten un historial relacionado.

Después de la primera vez, el comando git pull no requiere esa bandera:

git pull recetas-gh main

En cualquier caso, el comando pull busca la URL apropiada para el repositorio remoto usando el apodo proporcionado ( recetas-gh ).

Luego recupera el historial de confirmaciones y otros datos de la rama especificada ( main ) del repositorio remoto que no está en esa rama del repositorio local.

Fusiona esos datos en el repositorio local. Si hay algún conflicto, deberá resolverlo manualmente antes de que Git combine los cambios.

Por último, actualiza la carpeta de trabajo local con todos los archivos de la confirmación más reciente.

Usando el comando dir en Windows, o el comando ls en una Mac, vemos que nuestro repositorio local ahora tiene nuestros archivos originales más los archivos de licencia y Léame de nuestro repositorio remoto, como se muestra en la Figura 7.

Figure7-pull
Figura 7. Extrayendo el historial de cambios del repositorio remoto.

Ahora nuestro repositorio local contiene todo el historial de confirmaciones del repositorio remoto.

A continuación, enviamos el historial de cambios desde nuestro repositorio local a nuestro repositorio remoto usando el comando push.

git push recetas-gh main

El comando push requiere el nombre del repositorio remoto ( recetas-gh ) y el nombre de la rama. Como no hemos creado ninguna rama adicional, especificamos la rama principal ( main ).

Este comando fusiona el historial de cambios local con el repositorio remoto. Si hay algún conflicto, deberá resolverlo manualmente antes de que Git combine los cambios. Consulte la Figura 8 para ver el resultado:

Figure8-push
Figura 8. Enviar el historial de cambios local al repositorio remoto.

Para confirmar que nuestro repositorio remoto incluye todos nuestros archivos, vea el repositorio remoto en GitHub. En la Figura 9, vemos que los archivos de nuestro repositorio local ahora están en nuestro repositorio remoto y ¡nuestros repositorios están sincronizados!

Figure9-github-repo
Figura 9. Nuestro repositorio remoto con los archivos de nuestro repositorio local.

En resumen, sincronizar sus repositorios local y remoto implica extraer cualquier cambio del repositorio remoto a su repositorio local, resolver conflictos y luego enviar sus cambios locales nuevamente al repositorio remoto.

Eso es todo para el primer escenario. Creamos un repositorio local a partir de nuestros archivos existentes. Luego creamos un repositorio remoto, configuramos una conexión a ese repositorio remoto y sincronizamos nuestros archivos. Repita los comandos pull y push para sincronizar los repositorios mientras trabaja en su proyecto.

Escenario 2: Primero remoto

Para nuestro segundo escenario, el repositorio remoto ya existe. Este será el caso si te unes a un equipo que tiene código existente en GitHub. O si quieres trabajar en un proyecto de código abierto. O si encontró algún código en GitHub que le gustaría usar como punto de partida para su proyecto.

Quiere crear su repositorio local a partir de un repositorio remoto existente. Hay tres formas básicas de obtener código de un repositorio remoto, como se muestra en la Figura 10.

Figure10-remote-first
Figura 10. Obtener código de un repositorio remoto.

En el lado izquierdo de la Figura 10, tenemos un escenario: si posee o tiene derechos de acceso para modificar el repositorio remoto, puede clonar el repositorio remoto para crear su repositorio local. Luego puede sincronizar directamente los cambios entre los dos repositorios.

El segundo escenario se muestra en el medio de la Figura 10: si no es propietario del repositorio remoto o no tiene derechos de acceso para modificarlo, primero use GitHub para bifurcar el repositorio. Esto crea una copia del repositorio remoto en su cuenta de GitHub. Luego clona tu copia para crear tu repositorio local.

Este será el caso si estás trabajando en un proyecto de código abierto o quieres usar el código en el repositorio de otra persona como punto de partida para tu proyecto.

El tercer escenario se muestra a la derecha de la Figura 10; también existe la opción de descargar un archivo zip del código en el repositorio. Esto no crea un repositorio local. Utilice esta opción si desea ver el código de un repositorio de GitHub, pero no planea realizar un seguimiento de los cambios.

Para configurar el ejemplo de este escenario, necesita un repositorio remoto que actualmente no tenga un repositorio local asociado. Puede utilizar el repositorio remoto de recetas que ya creó en el primer escenario. Si prefieres utilizar el repositorio de otra persona para este ejemplo, asegúrate de bifurcarlo primero.

Una vez que tenga un repositorio remoto, asegúrese de que no haya ningún repositorio local asociado a él. Si está utilizando el repositorio remoto de recetas, elimine la carpeta de recetas de su sistema local. Eso elimina su repositorio local.

Ahora está listo para crear un nuevo repositorio local desde su repositorio remoto en GitHub.

¿Cómo clonar un repositorio?

Para crear un repositorio local desde un repositorio remoto en GitHub, use el comando clone.

Si prefieres clonar un repositorio usando la aplicación GitHub Desktop, mira este video:

Para clonar usando un comando de Git, primero necesitamos la URL del repositorio remoto.

Navegue a GitHub, inicie sesión y verá su panel personal. Localice el repositorio que desea clonar. Haga clic en el botón verde Código para ver los detalles sobre el repositorio como se muestra anteriormente en la Figura 5. Haga clic en el botón copiar al lado de la URL para copiarlo.

A continuación, abra su terminal o símbolo del sistema en su computadora. Navegue hasta la carpeta donde desea crear la carpeta de trabajo del proyecto. Navegaré a mi carpeta de documentos.

Entonces estamos listos para clonar ese repositorio:

git clone https://github.com/DeborahK/recetas.git

El comando clone requiere la URL del repositorio remoto. Acabamos de copiar esa URL de GitHub, así que péguela como parte de este comando.

Cuando se ejecuta el comando, primero crea la carpeta de trabajo para el repositorio utilizando el nombre del repositorio remoto de la URL, que son recetas en este ejemplo. Luego copia el historial de confirmaciones del repositorio remoto en la URL proporcionada.

El proceso de clonación también vincula automáticamente el nuevo repositorio local con su repositorio remoto. Y asigna al repositorio remoto un alias de origen. Luego podemos hacer referencia al repositorio remoto usando ese alias en lugar de su URL.

Por último, el proceso de clonación copia todos los archivos de la confirmación más reciente a la carpeta de trabajo local. Luego puede agregar, editar o eliminar archivos en esa carpeta de trabajo mientras trabaja localmente en el proyecto.

Navegue hacia abajo hasta la carpeta de nuevas recetas. Luego use el comando remoto para ver el repositorio remoto vinculado. Y como se muestra en la Figura 11, efectivamente tiene el alias origen.

Figure11-git-clone
Figura 11. Clonación de un repositorio.

Observe el resultado de la operación de clonación en la Figura 11. Git enumera (o encuentra) 10 objetos. Sólo tenemos cuatro archivos en el repositorio remoto de recetas. Entonces, ¿por qué encuentra 10 objetos? Esto se debe a que el proceso de clonación copia todo el historial de confirmaciones, no solo los archivos.

Utilice el comando rev-list con las banderas --objects y --all para ver la lista de objetos.

git rev-list --objects --all

La Figura 12 muestra el resultado de ese comando:

Figure12-git-rev-list
Figura 12. Lista de objetos en el repositorio.

Cada uno de los objetos anteriores se muestra como un identificador SHA o algoritmo hash seguro. El SHA se utiliza como identificación para identificar de forma única los objetos en nuestro repositorio.

Los primeros tres objetos de esta lista (objetos 1 a 3) son las tres confirmaciones realizadas en este repositorio. Al observar la lista de confirmaciones en GitHub (Figura 13), cada confirmación muestra los primeros caracteres de su SHA. Estos coinciden con los primeros tres objetos:

  • La fusión se confirma cuando fusionamos los dos repositorios.
  • El commit inicial que GitHub realizó en el repositorio remoto creando los archivos LICENCIA y README.md.
  • El commit inicial que realizamos en el repositorio local confirmando file1.txt y file2.txt.

Los objetos del medio en la lista que se muestra en la Figura 12 (objetos 5-8) son los cuatro archivos comprometidos.

Los tres objetos restantes (objetos 4, 9, 10) son objetos de árbol. Un objeto de árbol representa el estado de una carpeta, incluidos los archivos y subcarpetas de esa carpeta. Mantiene la jerarquía de la carpeta.

Figure13-commit-history
Figura 13. Historial de confirmaciones, cada uno identificado por los primeros valores de SHA.

Usando el comando dir en Windows o el comando ls en Mac, vemos que nuestra carpeta de trabajo ahora contiene todos los archivos de nuestro repositorio remoto.

Figure14-working-folder
Figura 14. Un directorio de los archivos en nuestra carpeta de trabajo.

Ahora que hemos clonado el repositorio, nuestros repositorios local y remoto coinciden. Para mantenerlos sincronizados, utilizamos pull y push como vimos en la sección "Cómo sincronizar repositorios locales y remotos" anteriormente en este artículo.

Tenga en cuenta que si está trabajando con un repositorio remoto que no es de su propiedad, es posible que no tenga acceso para enviar sus cambios directamente al repositorio. En su lugar, deberás emitir un Pull Request.

Un Pull Request, o PR, les dice a los propietarios u otros contribuyentes que usted ha enviado cambios y que está solicitando que esos cambios se revisen y extraigan, o se fusionen, en el repositorio remoto.

Vea este vídeo para obtener más información sobre los Pull Request:

Terminando

En el primer escenario, teníamos código existente y creamos un repositorio local a partir de ese código. Luego creamos un repositorio remoto para mantener una copia de los archivos fuera del sitio y compartir el proyecto con otros.

En el segundo escenario, teníamos un repositorio remoto existente creado en GitHub por nuestro equipo o por un colaborador de código abierto. Luego clonamos ese repositorio para crear nuestro repositorio local. De esa manera, podemos trabajar en nuestra propia copia del proyecto y realizar y probar cambios de forma independiente antes de enviar esos cambios al repositorio remoto para que otros los revisen y fusionen.

Ya sea que cree primero su repositorio local o primero su repositorio remoto de GitHub, una vez que tenga ambos repositorios en su lugar, puede mantenerlos sincronizados con los comandos pull y push de Git. O enviando solicitudes de extracción o relaciones públicas.

Para obtener más detalles sobre cómo aprender Git y GitHub, consulte este curso:

Obtener una comprensión sólida de los repositorios locales y remotos, y cómo mantenerlos sincronizados, es esencial cuando se trabaja en su propio código. Es aún más importante cuando se trabaja en un equipo o en un proyecto de código abierto.