CodeGym /Cursos /Python SELF ES /Conceptos básicos de trabajo con Git

Conceptos básicos de trabajo con Git

Python SELF ES
Nivel 12 , 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 una rama master, a menos que el desarrollador tomara pasos explícitos para eliminarla, lo cual era raro, ya que la rama master desempeñaba 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 llamó la atención general 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 utilizar el término master al inicializar un repositorio Git. El cambio de GitHub de master a main es posible en la configuración de la cuenta Repositorios o con el comando:

$ git branch -m master main

En las lecciones se sigue utilizando el término master. Más detalles sobre el cambio se pueden encontrar en los siguientes enlaces:

9.1 Qué es Git y para qué sirve

Git es un potente sistema de control de versiones, utilizado para seguir los 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 varias personas en un proyecto común.

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 un estado guardado del proyecto. Cada commit en Git contiene información sobre qué cambios se hicieron 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 nuevamente en la rama principal.

Merge y rebase

Merge y rebase son dos métodos para integrar cambios de una rama en otra. Merge combina las historias de dos ramas, creando un nuevo commit, mientras que rebase transfiere los commits de una rama a la cima de otra, cambiando la historia de los commits.

9.2 Comandos principales de Git

Aquí hay una tabla con los comandos principales de Git para la gestión de versiones:

Comando Descripción
git init Inicializa un nuevo repositorio 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 Registra los cambios preparados en el repositorio.
git push Envía 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 una rama especificada en la rama actual.
git rebase Transfiere cambios a una nueva base (a menudo, otra rama).

Estos comandos representan las herramientas principales para trabajar en Git, permitiendo gestionar cambios de código, ramas y fusiones en proyectos de cualquier tamaño. Vamos a profundizar en ellos en las próximas lecciones.

9.3 Tres lugares de almacenamiento de código

Cuando uses un sistema de control de versiones para tu código, grosso modo, tu código 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 registro de cambios del proyecto. También el repositorio remoto sirve como punto de integración para la automatización de procesos como la compilación, prueba 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 con Git (commits, ramificaciones, fusiones) sin necesidad de conexión 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 combinados (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 nuevas funcionalidades o corregir errores.

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

Estos componentes en conjunto proporcionan una infraestructura potente para gestionar el 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

GitHubes la principal plataforma web 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 permite a los usuarios crear repositorios para gestionar proyectos, controlar y hacer un seguimiento de los cambios en el código, colaborar con otros desarrolladores y llevar a cabo desarrollo de forma abierta o privada. Ofrece características como forks, ramas, pull requests y merges, permitiendo a los desarrolladores trabajar fácilmente en conjunto en proyectos.

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

GitHub apoya una extensa comunidad de desarrolladores 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 en un centro comunitario donde los desarrolladores pueden compartir conocimientos y experiencias.

9.5 Registro en GitHub

Paso 1. Entra en https://github.com

Paso 2. Regístrate…

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

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

Paso 5. Añade un archivo README al proyecto – lo necesitaremos en el futuro.

Paso 6. Haz clic en "Create repository".

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