• ¿Qué es un lenguaje de programación?
  • Entorno de Desarrollo en macOS
WeiseRatel
  • ¿Qué es Swift?
  • ¿Hablamos?
  • Sobre WeiseRatel.com
No Result
View All Result
  • ¿Qué es Swift?
  • ¿Hablamos?
  • Sobre WeiseRatel.com
No Result
View All Result
WeiseRatel
No Result
View All Result
Home Git

Git – Instalación y Configuración

Josué V. Herrera by Josué V. Herrera
in Git
Reading Time: 9 mins read
A A
Instalación y configuración, Git
11
SHARES
36
VIEWS
Compartir en FacebookCompartir en Twitter

En este tutorial vamos a aprender sobre Git. Un gestor de versiones muy popular tanto en startups como en grandes empresas, usado por miles de programadores en todo el mundo. Creado por Linus Torvalds (el creador del Kernel Linux) y desde 2009 mantenido por Junio Hamano. Fue lanzado en Abril de 2005 como un sistema de control de versiones distribuidas de código abierto,  diseñado para manejar proyectos pequeños o muy grandes con rapidez y eficiencia.

Antes de continuar y a favor de que este tutorial realmente cumpla su objetivo te hacemos una sugerencia: si no estás familiarizado / da con los temas que aquí abordaremos te recomendamos conocer un poco más sobre:

¿Qué es un sistemas de control de versiones?

en este artículo que te recomendamos (también nuestro) abordamos varios temas que creemos fundamentales conocer antes de adentrarse en el artículo actual. Hablamos un poco sobre la historia de los sistemas de control de versiones, la necesidad que motivó su existencia o lo que sería lo mismo: su función dentro de nuestros proyectos.

¿Por qué aprender Git?

Durante estos años Git se ha impuesto sobre su competencia (Subversion, CVS, Perforce y ClearCase) y esto ha sido producto de ciertas características técnicas que veremos a continuación pero también a su facilidad de uso. Git es multiplataforma, por lo que puedes usarlo y crear repositorios locales en todos los sistemas operativos más comunes: Mac, Windows o Linux. Otro aspecto que lo ha mantenido como la opción a elegir es que en la actualidad existen multitud de GUIs (Graphical User Interface o Interfaz de Usuario Gráfica) para trabajar con Git (como Tower por ejemplo).

Los tres estados de Git

Si quieres que el resto de tu proceso de aprendizaje prosiga sin problemas, lo más importante a recordar acerca de Git son sus tres estados, estos hacen referencia a los tres principales en los que se pueden encontrar los archivos de nuestro proyecto: modificado (modified), preparado (staged) y confirmado (committed).

Las tres etapas de Git
Las tres etapas de Git

Cuando estás trabajando en tu proyecto, vas modificando archivos (cada vez que modificas uno de ellos pasa al estado modificado). Cuando consideras que uno de los archivos modificados ya está terminado, llega el momento de comunicárselo al sistema de control de versiones. En ese momento este archivo pasa al estado preparado. Por último, cuando ya tienes todos tus archivos en estado preparado, llega el momento de confirmarlo, pasando a partir de ese momento al estado confirmado.

Dicho esto pudieramos definir estos estados:

  • Modificado: Has modificado el archivo pero todavía no lo has confirmado a tu base de datos.
  • Preparado: Has marcado un archivo modificado en su versión actual para que vaya en tu próxima confirmación.
  • Confirmado: Los datos están almacenados de manera segura en tu base de datos local.

La línea de comandos

Hay muchas formas diferentes de usar Git. Existen las herramientas originales de la línea de comandos e interfaces gráficas de usuario con diferentes capacidades que usan como backend el propio comando git. En nuestros tutoriales usaremos la línea de comandos que es como, a nuestro parecer, se aprende realmente, de modo que puedas interactuar con muchos de sus parámetros en las distintas situaciones y etapas que ya hemos comentado.

Dominar el sistema desde su base es fundamental, es necesario consolidar los parámetros en nuestra mente en lugar de estar aprendiendo a usar un programa gráfico determinado que bajo ciertas circunstancias ya no se sea una opción, momento donde tendríamos que tirar del terminal pero como no tenemos ni idea de los parámetros a usar pues nos veremos imposibilitados de seguir adelante o quizás perder un tiempo, en ocasiones limitado, buscando en Internet como hacer en la terminal lo que estamos acostumbrados a ejecutar mediante la interfaz gráfica.

También es bueno puntualizar que por un lado, la línea de comandos es el único lugar donde se pueden ejecutar todas las variantes del comando git ya que estamos interactuando directamente con él, solamente este tiene soporte para todos: la mayoría de las GUI sólo implementan ciertos subconjunto de funcionalidades más comunes básicamente por simplicidad, por lo que si dominamos la línea de comandos aparte de la libertad que tendremos para enfrentar cualquier situación, seguro también podremos manejarnos con soltura en la versión GUI.

Además, si bien la elección de un cliente gráfico es una cuestión de varios factores técnicos en ocaciones también reside en el gusto personal, mientras que todos los usuarios tendrán siempre en cualquier plataforma la posibilidad de instalar las herramientas de línea de comandos.

Instalación de Git

En las últimas versiones de Ubuntu ya tenemos Git instalado por defecto. Si ejecutamos el siguiente comando:

apt install git

veremos que ya está instalado:

root@ubuntu:/home/weiseratel# apt install git
Reading package lists... Done
Building dependency tree
Reading state information... Done
git is already the newest version (1:2.25.1-1ubuntu3.1).
git set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

pero esta no es la última versión de Git. Si por alguna razón preferimos la versión estable más reciente (opción que recomiendo) primero tendríamos que añadir el siguiente repositorio NO OFICIAL pero recomendado en la propia página de Git (add-apt-repository ppa:git-core/ppa):

add-apt-repository ppa:git-core/ppa
Agregar repositorio oficial del proyecto Git

tras este comando ejecutamos:

apt update && apt upgrade

Con esto último actualizamos la base de datos de paquetes del gestor de paquetes apt y actualizamos algún paquete en el caso de estar disponible. Luego de agregar el repositorio anterior los paquetes asociados a Git se deberán actualizar a la última versión estable.

Verificamos la versión con el comando:

root@ubuntu:/home/weiseratel# git --version
git version 2.32.0
root@ubuntu:/home/weiseratel#

Si comparamos la versión actual (v2.32) con la versión que nos mostraba el sistema cuando intentamos instalar Git (v2.25.1) hace un rato, veremos que en efecto hay una diferencia bastante marcada entre ambas versiones.

Configuración inicial y órdenes básicas

Lo primero que tenemos que hacer es aplicar una pequeña configuración básica, una configuración necesaria al inicio y que luego no tendremos que volver a modificar en la mayoría de los casos.

Git trae una herramienta llamada git config que te permite obtener y establecer variables de configuración, que controlan el aspecto y funcionamiento de Git. Estas variables pueden almacenarse en tres sitios distintos:

  • Archivo /etc/gitconfig: Contiene valores para todos los usuarios del sistema y todos sus repositorios. Si especificamos la opción –system a git config, lee y escribe específicamente en este archivo.
  • Archivo ~/.gitconfig: Específico a tu usuario. Puedes hacer que Git lea y escriba específicamente en este archivo pasando la opción –global.
  • Archivo config en el directorio de Git (es decir, .git/config) del repositorio que estés utilizando actualmente: Específico a ese repositorio. Cada nivel sobrescribe los valores del nivel anterior, por lo que los valores de .git/config tienen preferencia sobre los de /etc/gitconfig.

Lo primero que debemos hacer cuando instalamos Git es establecer nuestro nombre de usuario y dirección de correo electrónico. Esto es importante porque las confirmaciones de cambios (commits) en Git usan esta información, y es introducida de manera inmutable en los commits que envías:

git config --global user.name "Paco"

y

git config --global user.email paco@example.com

De nuevo, sólo necesitas hacer esto una vez si especificas la opción –global, ya que Git siempre usará esta información para todo lo que hagas en ese sistema. Si quieres sobrescribir esta información con otro nombre o dirección de correo para proyectos específicos, puedes ejecutar el comando sin la opción –global cuando estés en ese proyecto.

Ahora que tu identidad está configurada, puedes elegir el editor de texto por defecto que se utilizará cuando Git necesite que introduzcas un mensaje. Si no indicas nada, se hace uso del editor por defecto del sistema, que generalmente es vi o vim. Si quieres usar otro editor de texto, como mcedit, puedes hacer lo siguiente:

git config --global core.editor mcedit

Comprobando la configuración

Si quieres comprobar tu configuración, puedes usar el comando git config –list para listar todas las propiedades que se han configurado:

root@ubuntu:/home/weiseratel# git config --list
user.name=Paco
user.email=paco@example.com
core.editor=mcedit
root@ubuntu:/home/weiseratel#

esta salida en pantalla diferirá evidentemente para cada persona o sistema operativo. También puedes comprobar qué valor asociado tiene una clave específica ejecutando git config <clave>:

root@ubuntu:/home/weiseratel# git config user.email
paco@example.com
root@ubuntu:/home/weiseratel#

Obteniendo ayuda

De más está decir que en los comentarios puedes hacer públicas tus dudas con respecto a lo que aquí hemos expuesto pero hay ocasiones donde tenemos pequeñas dudas o error de sintaxis que podemos solventar a través del propio comando Git o de las páginas de documentación del sistema (manpage). Hay tres formas de acceder a estas páginas para cualquier comando de Git:

git help <comando>
git <comando> --help
man git-<comando>

Por ejemplo, puedes ver la página del manual para el comando config ejecutando:

git help config

en esta imagen podemos ver la salida en pantalla del comando anterior.

Llegado este punto ya tendríamos todo configurado y listo para comenzar a usarlo en nuestros proyectos. Pero evidentemente esto no es todo, aún queda mucho por comentar y aprender sobre Git. En un próximo artículo sobre Git veremos las órdenes básicas, aprenderemos a crear un repositorio y a clonar uno ya existente, haremos nuestro primer commit, consultaremos el historial de cambios, los revertiremos y mucho más. En términos general, los comandos más usados y por ende aquellos que tenemos que dominar mejor.

Falta aún mucho por aprender en nuestro camino a convertirnos en iOS Developer. Suscríbete a nuestra lista de correo mediante el formulario en el panel derecho y síguenos en nuestras redes sociales. Mantente así al tanto de todas nuestras publicaciones futuras.

Espero que todo cuanto se ha dicho aquí, de una forma u otra le haya servido de aprendizaje, de referencia, que haya valido su preciado tiempo.

Este artículo, al igual que el resto, será revisado con cierta frecuencia en pos de mantener un contenido de calidad y actualizado.

Cualquier sugerencia, ya sea errores a corregir, información o ejemplos a añadir será, más que bienvenida, necesaria!

Josué V. Herrera

Josué V. Herrera

Desarrollador Swift / iOS. Llevo en el mundo de la informática más de 15 años, trabajado con varios lenguajes de programación y frameworks como Swift, C++ / Qt, C#, Java, entre otros. También he fungido como administrador de redes, bases de datos y sistemas Linux (algún que otro BSD) desde 2005 hasta la actualidad. Soy “Experto en Administración y Seguridad de Redes” por la Universidad Tecnológica Nacional FRVM de Córdoba, Argentina.

Artículos relacionados

Sistemas de Control de Versiones, Git
Git

Git – Sistemas de Control de Versiones

Load More
0 0 votos
Article Rating
Suscríbete
Login
Notificar de
guest

guest

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

0 Comments
Inline Feedbacks
Ver todos los comentarios

Suscríbete

Únete!

Únete!

Suscríbete a nuestra lista de correo y mantente actualizado con las nuevas publicaciones.

Se ha suscrito correctamente!

Entradas recientes

  • Estructuras de Datos – Lista Enlazada
  • MariaDB – Comandos Básicos
  • MariaDB – Instalación y Configuración
  • ¿Cómo hacer una instalación limpia de macOS Ventura?
  • Git – Instalación y Configuración

Categorías

  • Bases de Datos (2)
    • MariaDB (2)
  • Estructuras de Datos (3)
  • Gestión de Dependencias (2)
    • Swift Package Manager (2)
  • Git (2)
  • Guías (2)
  • Lenguajes de Programación (27)
    • Swift (27)
  • Sobre WiseRatel.com
  • Política de Privacidad
  • Política de Cookies
  • ¿Hablamos?
Powered by humans!

© 2022 WeiseRatel. All Rights Reserved.

No Result
View All Result
  • ¿Qué es Swift?
  • ¿Hablamos?
  • Sobre WeiseRatel.com

© 2022 WeiseRatel. All Rights Reserved.

wpDiscuz
RECIBE CONTENIDO SIMILAR EN TU CORREO

RECIBE CONTENIDO SIMILAR EN TU CORREO

Suscríbete a nuestra lista de correo y mantente actualizado con las nuevas publicaciones.

Se ha suscrito correctamente!

Cookies Para que este sitio funcione adecuadamente, a veces instalamos en los dispositivos de los usuarios pequeños ficheros de datos, conocidos como cookies. La mayoría de los grandes sitios web también lo hacen.
Aceptar cookies
Leer más
Ajustes de cookies
Configuración de Cookie Box
Configuración de Cookie Box

Ajustes de privacidad

Decida qué cookies desea permitir. Puede cambiar estos ajustes en cualquier momento. Sin embargo, esto puede hacer que algunas funciones dejen de estar disponibles. Para obtener información sobre eliminar las cookies, por favor consulte la función de ayuda de su navegador. MÁS INFORMACIÓN SOBRE LAS COOKIES QUE USAMOS.

Con el deslizador, puede habilitar o deshabilitar los diferentes tipos de cookies:

  • Block all
  • Essential
  • Functionality
  • Analytics
  • Advertising

Este sitio web

  • Esencial: Recordar sus ajustes de permisos de cookies
  • Esencial: Permitir cookies de sesión
  • Esencial: Recopilar la información que introduzca en el formulario de contacto de un boletín informativo y otros formularios en todas las páginas
  • Esencial: Hacer un seguimiento de lo que introduzca en la cesta de la compra
  • Esencial: Verificar que ha iniciado sesión en su cuenta de usuario
  • Esencial: Recordar la versión del idioma seleccionado

Este sitio web no

  • Recordar los datos de inicio de sesión
  • Funcionalidad: Recordar los ajustes de redes sociales
  • Funcionalidad: Recordar el país y la región seleccionados
  • Análisis: Hacer un seguimiento de las páginas visitadas y de la interacción en las mismas
  • Análisis: Hacer un seguimiento de la ubicación y la región según la dirección IP
  • Análisis: Hacer un seguimiento del tiempo pasado en cada página
  • Análisis: Aumentar la calidad de los datos de las funciones estadísticas
  • Publicidad: Adaptar la información y la publicidad a sus intereses según, p.ej., el contenido que ha visitado antes. (Actualmente no usamos segmentación ni cookies de segmentación)
  • Publicidad: Recopilar información personalmente identificable como el nombre y la ubicación

Este sitio web

  • Esencial: Recordar sus ajustes de permisos de cookies
  • Esencial: Permitir cookies de sesión
  • Esencial: Recopilar la información que introduzca en el formulario de contacto de un boletín informativo y otros formularios en todas las páginas
  • Esencial: Hacer un seguimiento de lo que introduzca en la cesta de la compra
  • Esencial: Verificar que ha iniciado sesión en su cuenta de usuario
  • Esencial: Recordar la versión del idioma seleccionado
  • Funcionalidad: Recordar todos los ajustes de redes sociales
  • Funcionalidad: Recordar el país y la región seleccionados

Este sitio web no

  • Análisis: Hacer un seguimiento de las páginas visitadas y de la interacción en las mismas
  • Análisis: Hacer un seguimiento de la ubicación y la región según la dirección IP
  • Análisis: Hacer un seguimiento del tiempo pasado en cada página
  • Análisis: Aumentar la calidad de los datos de las funciones estadísticas
  • Publicidad: Adaptar la información y la publicidad a sus intereses según, p.ej., el contenido que ha visitado antes. (Actualmente no usamos segmentación ni cookies de segmentación)
  • Publicidad: Recopilar información personalmente identificable como el nombre y la ubicación

Este sitio web

  • Esencial: Recordar sus ajustes de permisos de cookies
  • Esencial: Permitir cookies de sesión
  • Esencial: Recopilar la información que introduzca en el formulario de contacto de un boletín informativo y otros formularios en todas las páginas
  • Esencial: Hacer un seguimiento de lo que introduzca en la cesta de la compra
  • Esencial: Verificar que ha iniciado sesión en su cuenta de usuario
  • Esencial: Recordar la versión del idioma seleccionado
  • Funcionalidad: Recordar todos los ajustes de redes sociales
  • Funcionalidad: Recordar el país y la región seleccionados
  • Análisis: Hacer un seguimiento de las páginas visitadas y de la interacción en las mismas
  • Análisis: Hacer un seguimiento de la ubicación y la región según la dirección IP
  • Análisis: Hacer un seguimiento del tiempo pasado en cada página
  • Análisis: Aumentar la calidad de los datos de las funciones estadísticas

Este sitio web no

  • Publicidad: Adaptar la información y la publicidad a sus intereses según, p.ej., el contenido que ha visitado antes. (Actualmente no usamos segmentación ni cookies de segmentación)
  • Publicidad: Recopilar información personalmente identificable como el nombre y la ubicación

Este sitio web

  • Funcionalidad: Recordar los ajustes de redes sociales
  • Funcionalidad: Recordar el país y la región seleccionados
  • Análisis: Hacer un seguimiento de las páginas visitadas y de la interacción en las mismas
  • Análisis: Hacer un seguimiento de la ubicación y la región según la dirección IP
  • Análisis: Hacer un seguimiento del tiempo pasado en cada página
  • Análisis: Aumentar la calidad de los datos de las funciones estadísticas
  • Publicidad: Adaptar la información y la publicidad a sus intereses según, p.ej., el contenido que ha visitado antes. (Actualmente no usamos segmentación ni cookies de segmentación)
  • Publicidad: Recopilar información personalmente identificable como el nombre y la ubicación

Este sitio web no

  • Recordar los datos de inicio de sesión
Guardar cerrar