CodeGym /Curso de Java /Frontend SELF ES /Fundamentos del trabajo con Git

Fundamentos del trabajo con Git

Frontend SELF ES
Nivel 20 , Lección 1
Disponible

9.0 Un poco de historia

Desde su creación, la herramienta Git DVCS tenía una rama por defecto llamada master. Cada repositorio de Git tenía la rama master, a menos que el desarrollador diera pasos explícitos para eliminarla, lo cual se hacía rara vez, ya que la rama master juega un papel importante en el mundo del desarrollo de software.

El uso de los términos master y slave (amo y esclavo) en la industria informática atrajo la atención de todos en el verano de 2020, en medio de numerosas protestas y creciente agitación social. Durante la discusión pública, surgieron varias alternativas para master, entre ellas default y primary. Sin embargo, el término más popular fue main.

GitHub tomó medidas y dejó de usar el término master al iniciar un repositorio de Git. El cambio de GitHub de master a main se puede realizar en la configuración de la cuenta Repositories o con el comando:

$ git branch -m master main

En las lecciones se sigue utilizando el término master. Puedes obtener más información sobre la transición en los siguientes enlaces:

9.1 Qué es Git y para qué sirve

Git es un poderoso sistema de control de versiones, utilizado para rastrear cambios en el código fuente durante el desarrollo de software. Permite a los desarrolladores guardar diferentes versiones de archivos y coordinar el trabajo de múltiples personas en un proyecto compartido.

Conceptos básicos de Git:

Repositorio

Un repositorio (o "repo") es el lugar donde se almacena toda la historia del proyecto, incluyendo todos los cambios y versiones de archivos. En Git, un repositorio incluye el directorio de trabajo, el índice (o área de preparación) y la base de datos de objetos.

Commits

Un commit es el estado guardado del proyecto. Cada commit en Git contiene información sobre qué cambios se realizaron en el proyecto, por quién y cuándo. Los commits forman la historia del proyecto y permiten volver a cualquier versión anterior.

Ramas

Una rama (branch) es una línea de desarrollo independiente. Por defecto, Git crea la rama main (anteriormente master). Puedes crear nuevas ramas para desarrollar nuevas funcionalidades o correcciones, y luego fusionarlas de nuevo en la rama principal.

Merge y rebase

Merge y rebase son dos formas de integrar cambios de una rama a otra. Merge combina las historias de dos ramas, creando un nuevo commit, mientras que rebase traslada los commits de una rama a la cima de otra, alterando la historia de commits.

9.2 Comandos básicos de Git

Aquí tienes una tabla con los comandos básicos de Git para el control de versiones:

Comando Descripción
git init Inicializa un nuevo repositorio de Git en el directorio actual.
git clone Clona un repositorio desde una URL en un nuevo directorio.
git add Añade archivos al índice para el próximo commit.
git commit Confirma los cambios preparados en el repositorio.
git push Envía los cambios desde el repositorio local al remoto.
git pull Actualiza la rama actual con la última versión del repositorio remoto.
git branch Muestra, crea o elimina ramas.
git merge Fusiona cambios de la rama indicada en la rama actual.
git rebase Traslada los cambios a una nueva base (generalmente, otra rama).

Estos comandos representan las herramientas básicas para trabajar con Git, permitiendo gestionar cambios de código, ramas y fusiones en proyectos de cualquier tamaño. Los trataremos con más detalle en las siguientes lecciones.

9.3 Tres lugares de almacenamiento del código

Cuando uses un sistema de control de versiones para tu código, tu código, grosso modo, se almacenará en tres lugares:

1. Repositorio remoto:

Este es un lugar centralizado para almacenar tu código, generalmente alojado en servicios como GitHub, GitLab o Bitbucket. Proporcionan almacenamiento centralizado de código y son la base para el trabajo colaborativo.

Los repositorios remotos permiten a los desarrolladores compartir sus cambios, sincronizar esfuerzos y llevar un historial de cambios del proyecto. Además, el repositorio remoto sirve como punto de integración para procesos de automatización, como construcción, pruebas y despliegue de aplicaciones.

2. Repositorio local:

Un repositorio local es tu copia personal del código, almacenada en tu computadora. En este repositorio puedes realizar todas las operaciones de Git (commits, ramas, fusiones) sin necesidad de estar conectado a Internet.

Los repositorios locales permiten a los desarrolladores trabajar de forma aislada de sus colegas, experimentar, crear nuevas funcionalidades o corregir errores, antes de que los cambios sean fusionados (merge) y enviados al repositorio remoto.

3. Directorio de trabajo:

El directorio de trabajo en tu computadora contiene los archivos actuales del proyecto en los que estás trabajando. Es el lugar donde puedes ver y modificar archivos, añadir nueva funcionalidad o corregir errores.

Después de realizar cambios, puedes añadirlos al índice (staging area), y luego confirmarlos en el repositorio local. El directorio de trabajo está vinculado a la rama actual en tu repositorio, y cambiar de ramas modifica el contenido del directorio de trabajo.

Estos componentes en conjunto proporcionan una infraestructura poderosa para la gestión de código fuente, permitiendo a los desarrolladores gestionar la historia del proyecto, colaborar y compartir la responsabilidad del código.

9.4 GitHub — el repositorio gratuito más popular

GitHub es la plataforma web más grande para alojar código fuente, utilizando el sistema de control de versiones Git. Fundada en 2008, rápidamente se convirtió en una de las herramientas clave para desarrolladores en todo el mundo.

GitHub

GitHub permite a los usuarios crear repositorios para gestionar proyectos, controlar y rastrear cambios en el código, colaborar con otros desarrolladores y desarrollar en modo público o privado. Ofrece funcionalidades como forks, ramas, pull requests y merges, lo que permite a los desarrolladores colaborar fácilmente en proyectos.

GitHub también incluye funcionalidades para el seguimiento de problemas, solicitudes de funcionalidades, gestión de tareas y wikis para cada proyecto. La plataforma se integra con numerosas herramientas y servicios, ofreciendo amplias posibilidades para la automatización del desarrollo, pruebas y despliegue de aplicaciones.

GitHub apoya una comunidad de desarrolladores extensa, donde se discuten activamente las mejores prácticas de programación, gestión de proyectos y mucho más. Esto lo convierte no solo en una herramienta para la gestión de proyectos, sino también en un centro comunitario donde los desarrolladores pueden compartir conocimientos y experiencias.

9.5 Registro en GitHub

GitHub

Paso 1. Visita https://github.com

Paso 2. Regístrate…

Paso 3. Haz clic en el botón "New" para crear un nuevo repositorio.

Paso 4. Indica el nombre del repositorio y configura sus parámetros.

Paso 5. Añade un archivo README al proyecto — lo necesitaremos más adelante.

Paso 6. Haz clic en "Create repository".

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION