Cómo clonar un repositorio Git con autenticación mediante nombre de usuario y contraseña

GitBeginner
Practicar Ahora

Introducción

Clonar un repositorio Git es una habilidad esencial para los desarrolladores. Para acceder al código de repositorios privados, normalmente se requiere autenticación. En este laboratorio, aprenderá a clonar un repositorio Git mediante autenticación con nombre de usuario y contraseña. También aprenderá la sintaxis adecuada y las consideraciones de seguridad necesarias para acceder de forma segura a repositorios remotos.

Conceptos básicos de Git y la clonación de repositorios

En este paso, aprenderá qué es Git y qué significa clonar un repositorio antes de trabajar con uno que requiere autenticación.

¿Qué es Git?

Git es un sistema de control de versiones distribuido que permite llevar un seguimiento de los cambios en el código fuente durante el desarrollo de software. Permite que varios desarrolladores trabajen en el mismo proyecto sin sobrescribir los cambios de los demás.

Estos son algunos conceptos clave de Git:

  • Repositorio: ubicación donde se almacenan el proyecto y su historial
  • Commit: instantánea del proyecto en un momento determinado
  • Rama: versión paralela del repositorio que se puede desarrollar de forma independiente
  • Remoto: versión del repositorio alojada en un servidor, como GitHub, GitLab o Bitbucket

¿Qué significa clonar un repositorio Git?

Clonar un repositorio Git significa crear una copia de un repositorio remoto en su equipo local. Al clonar un repositorio, descarga todos sus archivos, ramas e historial de commits. Así puede trabajar en el proyecto localmente y, más adelante, enviar sus cambios al repositorio remoto.

Comprobar si Git está instalado

Antes de continuar, compruebe si Git está instalado en el sistema. Abra una terminal y ejecute:

git --version

Debería ver un resultado similar a este:

git version 2.34.1

Esto confirma que Git está instalado y listo para usarse. En el siguiente paso, examinaremos la sintaxis para clonar repositorios con autenticación.

Métodos de autenticación de Git Clone

En este paso, conocerá formas habituales de autenticarse en un repositorio Git remoto, con especial atención a la autenticación mediante nombre de usuario y contraseña.

Métodos de autenticación habituales

Git admite varios métodos de autenticación:

  • HTTPS con nombre de usuario y contraseña: usa las credenciales de su cuenta en el servicio de alojamiento de Git
  • Claves SSH: usa pares de claves públicas y privadas
  • Tokens de acceso personal: usa tokens generados en lugar de contraseñas
  • OAuth: usa la autorización de servicios de terceros

Sintaxis de autenticación HTTPS

En este laboratorio, nos centraremos en la autenticación HTTPS con nombre de usuario y contraseña. La sintaxis básica para clonar un repositorio indicando el nombre de usuario es:

git clone https://username@repository-url.git

A continuación, el sistema le pedirá la contraseña. También puede incluir el nombre de usuario y la contraseña en la URL:

git clone https://username:password@repository-url.git

Sin embargo, este método es menos seguro, ya que la contraseña queda visible en el comando y podría guardarse en el historial de la shell.

Consideraciones de seguridad

Tenga en cuenta estas medidas de seguridad cuando use la autenticación con contraseña:

  • No comparta nunca sus credenciales con otras personas.
  • Evite escribir la contraseña en lugares públicos.
  • Muchos servicios de alojamiento de Git, como GitHub y GitLab, recomiendan ahora usar tokens de acceso personal en lugar de contraseñas.
  • Considere usar el almacenamiento en caché de credenciales para no tener que escribir la contraseña cada vez.

Ahora que conoce los métodos de autenticación, en el siguiente paso preparará el entorno para clonar un repositorio.

Clonar un repositorio Git con nombre de usuario y contraseña

En este paso, practicará cómo clonar un repositorio Git mediante autenticación con nombre de usuario y contraseña.

Preparar el espacio de trabajo

Primero, vaya al directorio del proyecto donde desea clonar el repositorio:

cd ~/project

Clonar un repositorio

En este ejercicio, clonaremos un repositorio de prueba con el nombre de usuario labex_user y la contraseña labex_password. La URL del repositorio es http://localhost:8000/git-server/test-repo.git. Este servidor HTTP local está aislado dentro del entorno del laboratorio para que pueda practicar cómo introducir la contraseña cuando se le solicite. Use HTTPS para los repositorios remotos reales.

Ejecute este comando para clonar el repositorio:

git clone http://labex_user@localhost:8000/git-server/test-repo.git

Cuando se le solicite, introduzca la contraseña labex_password.

Si tiene problemas con el comando anterior, puede usar la sintaxis alternativa que incluye la contraseña, aunque es menos segura para un uso real:

git clone http://labex_user:labex_password@localhost:8000/git-server/test-repo.git

Resultado esperado

Después de ejecutar el comando de clonación, debería ver un resultado similar a este:

Cloning into 'test-repo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.

Verificar la clonación

Para confirmar que el repositorio se clonó correctamente, compruebe el contenido del nuevo directorio:

ls -la test-repo

Debería ver el contenido del repositorio, incluidos el archivo README.md y el directorio .git:

total 16
drwxr-xr-x  3 labex labex 4096 Jul 15 12:34 .
drwxr-xr-x 10 labex labex 4096 Jul 15 12:34 ..
drwxr-xr-x  8 labex labex 4096 Jul 15 12:34 .git
-rw-r--r--  1 labex labex   16 Jul 15 12:34 README.md

Ahora que ha clonado el repositorio correctamente, puede examinar su contenido y empezar a trabajar con él.

Explorar y trabajar con el repositorio clonado

En este paso, explorará el repositorio que clonó y hará un pequeño cambio en su archivo README.

Ir al directorio del repositorio

Primero, vaya al repositorio clonado:

cd ~/project/test-repo

Ver el contenido del repositorio

Para ver el contenido del repositorio, use el comando ls:

ls -la

Debería ver el archivo README.md y el directorio .git:

total 16
drwxr-xr-x  3 labex labex 4096 Jul 15 12:34 .
drwxr-xr-x 10 labex labex 4096 Jul 15 12:34 ..
drwxr-xr-x  8 labex labex 4096 Jul 15 12:34 .git
-rw-r--r--  1 labex labex   16 Jul 15 12:34 README.md

Ver el archivo README.md

Examine el contenido del archivo README.md:

cat README.md

El archivo debería contener:

## Test Repository

Comprobar el estado de Git

Para comprobar el estado del repositorio, use el comando git status:

git status

El resultado debería indicar que se encuentra en la rama principal y que el directorio de trabajo está limpio:

On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

Ver el historial de commits

Para ver el historial de commits del repositorio, use el comando git log:

git log

Debería ver el commit inicial:

commit abcdef1234567890abcdef1234567890abcdef12 (HEAD -> master, origin/master)
Author: LabEx User <labex@example.com>
Date:   Mon Jul 15 12:34:56 2023 +0000

    Initial commit

Hacer cambios en el repositorio

Haga un cambio sencillo en el archivo README.md:

echo "This is a test repository for learning Git authentication." >> README.md

Vea el contenido actualizado:

cat README.md

El archivo actualizado debería tener este aspecto:

## Test Repository
This is a test repository for learning Git authentication.

Ya ha clonado correctamente un repositorio Git con autenticación mediante nombre de usuario y contraseña, ha examinado su contenido y ha modificado un archivo. En una situación real, confirmaría estos cambios y los enviaría al repositorio remoto; para ello también necesitaría autenticarse.

Resumen

En este laboratorio, ha aprendido:

  • Los conceptos básicos de Git y el significado de clonar un repositorio
  • Distintos métodos de autenticación de Git, con especial atención a la autenticación mediante nombre de usuario y contraseña
  • Cómo clonar un repositorio Git con nombre de usuario y contraseña usando la sintaxis correcta
  • Las consideraciones de seguridad al usar la autenticación con contraseña
  • Cómo explorar un repositorio clonado y hacer cambios en él

Estas habilidades son esenciales para los desarrolladores que trabajan en entornos colaborativos. Aunque la autenticación mediante nombre de usuario y contraseña es habitual, muchos servicios de alojamiento de Git están adoptando métodos más seguros, como los tokens de acceso personal o las claves SSH. Comprender los fundamentos de la autenticación de Git le ayudará a trabajar eficazmente con cualquier flujo de trabajo basado en Git.