¿Qué es un repositorio GIT?

Los repositorios en GIT contienen una colección de archivos de varias versiones diferentes de un Proyecto. Estos archivos se importan desde el repositorio al servidor local del usuario para futuras actualizaciones y modificaciones en el contenido del archivo. Se utiliza un VCS o el Sistema de control de versiones para crear estas versiones y almacenarlas en un lugar específico denominado repositorio. El proceso de copiar el contenido de un repositorio Git existente con la ayuda de varias herramientas Git se denomina clonación . Una vez que se realiza el proceso de clonación, el usuario obtiene el repositorio completo en su máquina local. Git por defecto asume que el trabajo a realizar en el repositorio es como usuario, una vez realizada la clonación. Los usuarios también pueden crear un nuevo repositorioo eliminar un repositorio existente. Para eliminar un repositorio, la forma más sencilla es simplemente eliminar la carpeta que contiene el repositorio. Los repositorios se pueden dividir en dos tipos según el uso en un servidor. Estos son:

  • Repositorios básicos: estos repositorios se utilizan para compartir los cambios realizados por diferentes desarrolladores. Un usuario no puede modificar este repositorio o crear una nueva versión para este repositorio en función de las modificaciones realizadas.
  • Repositorios no básicos: los repositorios básicos son fáciles de usar y, por lo tanto, permiten al usuario crear nuevas modificaciones de archivos y también crear nuevas versiones para los repositorios. El proceso de clonación por defecto crea un repositorio no vacío si no se especifica algún parámetro durante la operación de clonación.

Área de Trabajo o Staging de un Repositorio Git

Un árbol de trabajo en un repositorio de Git es la colección de archivos que se originan a partir de una determinada versión del repositorio. Ayuda a rastrear los cambios realizados por un usuario específico en una versión del repositorio. Cada vez que el usuario confirma una operación, Git buscará solo los archivos que están presentes en el área de trabajo, y no todos los archivos modificados. Solo los archivos que están presentes en el área de trabajo se consideran para la operación de confirmación. El usuario del árbol de trabajo puede cambiar los archivos modificando los archivos existentes y eliminando o creando archivos. Hay algunas etapas de un archivo en el árbol de trabajo de un repositorio:

  • Sin seguimiento: en esta etapa, el repositorio de Git no puede rastrear el archivo, lo que significa que el archivo nunca se prepara ni se confirma.
  • Rastreado: cuando el repositorio de Git rastrea un archivo, lo que significa que el archivo está confirmado pero no está almacenado en el directorio de trabajo.
  • Preparado: en esta etapa, el archivo está listo para confirmarse y se coloca en el área de preparación esperando la próxima confirmación.
  • Modificado/Sucio: cuando los cambios se realizan en el archivo, es decir, el archivo se modifica pero el cambio aún no se ha realizado.

Una vez realizados los cambios en el área de trabajo, el usuario puede actualizar estos cambios en el repositorio GIT o revertir los cambios.

Trabajar con un repositorio

Un repositorio GIT permite realizar diversas operaciones sobre él para crear diferentes versiones de un proyecto. Estas operaciones incluyen la adición de archivos, la creación de nuevos repositorios, la ejecución de una acción, la eliminación de un repositorio, etc. Estas modificaciones darán como resultado la creación de diferentes versiones de un proyecto.

Agregar a un repositorio

Después de realizar varias modificaciones en un archivo en el Área de trabajo, GIT debe seguir dos pasos más para guardar estos cambios en el repositorio local. Estos pasos son:

  1. Agregar los cambios al índice (área de ensayo)
  2. Confirmar los cambios indexados en el repositorio

Agregar cambios al índice Este proceso se realiza mediante el uso del comando git add . Cuando se han realizado los cambios en el Árbol/Área de Trabajo. Estos cambios deben agregarse al Área de ensayo para realizar más modificaciones en el archivo. El comando git add agrega el archivo en el repositorio local. Esto los prepara para el proceso de confirmación.

Sintaxis:

$ git add File-name

Diferentes formas de usar el comando agregar: 

$ git add .

Para agregar una lista específica de archivos al área de ensayo.

$ git add --all

Para agregar todos los archivos del directorio actual a un área de ensayo.

$ git add *.txt

Para agregar todos los archivos de texto del directorio actual al área de ensayo.

$ git add docs/*.txt

Para agregar todos los archivos de texto de un directorio en particular (documentos) al área de preparación.

$ git add docs/

Para agregar todos los archivos en un directorio particular (docs) al área de preparación.

$ git add “*.txt”

Para agregar archivos de texto de todo el proyecto al área de preparación. La confirmación de cambios desde el proceso de confirmación del índice se realiza en el área de preparación de los archivos que se agregan al índice después de ejecutar el comando git add . Este proceso de confirmación se realiza mediante el uso del comando git commit . Este comando confirma los cambios por etapas en el repositorio local. Sintaxis:

$ git commit -m "Add existing file"

Este comando de confirmación se usa para agregar cualquiera de los archivos rastreados al área de preparación y confirmarlos proporcionando un mensaje para recordar.

 

Sincronización con repositorios remotos

Git permite a los usuarios realizar operaciones en los Repositorios clonándolos en la máquina local. Esto dará como resultado la creación de varias copias diferentes del proyecto. Estas copias se almacenan en la máquina local y, por lo tanto, los usuarios no podrán sincronizar sus cambios con otros desarrolladores. Para superar este problema, Git permite sincronizar estos repositorios locales con los repositorios remotos. Esta sincronización se puede realizar mediante el uso de dos comandos en Git. Estos comandos son:

  • empujar
  • jalar

Push: este comando se usa para enviar todas las confirmaciones del repositorio actual al repositorio remoto rastreado. Este comando se puede usar para enviar su repositorio a varios repositorios a la vez. Sintaxis:

$ git push -u origin master

Para empujar todo el contenido de nuestro repositorio local que pertenece a la rama maestra al servidor (repositorio global).   Pull: el comando Pull se usa para obtener las confirmaciones de un repositorio remoto y las almacena en las sucursales remotas. Puede haber un caso en el que otros usuarios realicen cambios en su copia de repositorios y los carguen con otros repositorios remotos. Pero en ese caso, su copia del repositorio quedará obsoleta. Por lo tanto, para volver a sincronizar su copia del repositorio con el repositorio remoto, el usuario solo tiene que usar el comando git pull para obtener el contenido del repositorio remoto. Sintaxis:

$ git pull

Algunos comandos más:

Estado de Git: se utiliza para verificar el estado del repositorio de Git, es decir, si los archivos están confirmados o no, archivos en el área de preparación o archivos sin seguimiento.

$ git status

Git Log: se utiliza para realizar un seguimiento de todos los cambios realizados y por quién. Su comando es 

$ git log

.gitignore: puede usar .gitignore si desea ocultar cualquier archivo al cargarlo en línea. Simplemente cree un archivo .gitignore y escriba todos los nombres de los archivos que desea ignorar.

Git Merge: se utiliza para fusionar dos repositorios, sin perder los datos. Combina el repositorio especificado con el repositorio actual.

$ git merge <repo-name>

Git Checkout: se utiliza para retroceder a la versión anterior del proyecto que se comprometió en cualquier momento anterior. Puede copiar al código hash desde el registro de git y usarlo para retroceder. Echemos un vistazo al código:

$ git checkout <hash-code>

Publicación traducida automáticamente

Artículo escrito por Abhinav96 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *