imgPerfil

Git el gestor de versiones mas popular

Por Steve 06/05/2025

Sobre git

Rastreo de Cambios

Trabajo en Rama

Colaboración

Distribuido

Instalaciontalacion

Windows

MacOs

Debian y derivados

Fedora

Gentoo

Arch Linux

openSUSE

Mageia

Nix/MixOs

FreeBSD

Solaris 9/10/11(OpenCSW)

Solaris 11 Express, OpenIndiana

OpenBSD

Alpine

Red Hat Enterprise Linux, Oracle Linux, CentOS, Scientific Linux, et al

Slitaz

Uso basico de git

Inicializar un repositorio

Clonar repositorio desde remoto

Ramas

Listar las ramas existentes

Crear una rama

Moverse entre ramas

Confirmar cambios en una rama

Sobre git

Git es un sistema de control de versiones distribuido que permite a múltiples desarrolladores trabajar en un proyecto de manera colaborativa. Fue creado por Linus Torvalds en 2005, inicialmente para gestionar el desarrollo del kernel de Linux. Git es especialmente útil en proyectos de desarrollo de software porque permite:

Rastreo de Cambios

Git guarda un historial de todos los cambios realizados en el código fuente. Cada vez que se hace un cambio, se puede hacer "commit" (confirmar) de ese cambio con un mensaje que describe lo que se hizo. Esto facilita volver a versiones anteriores del proyecto si es necesario.

Trabajo en Rama

Git permite crear ramas (branches) del proyecto, lo que significa que puedes desarrollar una característica nueva en una rama separada sin afectar la versión principal del proyecto. Una vez que la nueva característica está completa y probada, se puede fusionar (merge) de nuevo con la rama principal.

Colaboración

Varios desarrolladores pueden trabajar en el mismo proyecto al mismo tiempo sin interferir entre sí. Cada desarrollador puede clonar un repositorio (copia local del proyecto), trabajar en él y luego enviar (push) sus cambios de vuelta al repositorio central.

Distribuido

A diferencia de otros sistemas de control de versiones que requieren un servidor central, Git es distribuido, lo que significa que cada desarrollador tiene una copia completa del historial del proyecto. Esto mejora la redundancia y permite trabajar sin conexión.


Instalacion

Windows

Para instalar git en un sistema windows debemos ir al siguiente enlace:

Una vez que visitamos el enlace basta con descargar el setup para windows y simplemento seguir la tipica instalacion de cualquier programa de windows

MacOs

Para instalar git en un sistema de apple es un poco diferente, pues primero nos pide instalar homebrew y luego simplemente tenemos que usar el siguiente comando

brew install git

Esto nos permite instalar git de una forma rapida y cencilla

Linux

En caso de que el sistema operativo sea alguna distro de linux entonces la forma de instalar git puede variar ligeramente, lo mas comun es que se use un gestor de paquetes y basta con un simple comando para instalar el software pero dependiendo de la distribucion este gesto cambia

Debian y derivados

Para las distribuciones basadas en debian se puede usar elk siguiente comando para instalar git

Comando

apt-get install git

Fedora

Comando

yum install git

dnf install git

Gentoo

Comando

emerge --ask --verbose dev-vcs/git

Arch Linux

Comando

pacman -S git

openSUSE

Comando

zypper install git

Mageia

Comando

urpmi git

Nix/MixOs

Comando

nix-env -i git

FreeBSD

Comando

pkg install git

Solaris 9/10/11(OpenCSW)

Comando

pkgutil -i git

Solaris 11 Express, OpenIndiana

Comando

pkg install developer/versioning/git

OpenBSD

Comando

pkg_add git

Alpine

Comando

apk add git

Red Hat Enterprise Linux, Oracle Linux, CentOS, Scientific Linux, et al.

RHEL y sus derivados suelen incluir versiones antiguas de git. Puede descargar un tarball y compilar desde el código fuente, o utilizar un repositorio de terceros como el IUS Community Project para obtener una versión más reciente de git.

Slitaz

Comando

tazpkg get-install git


Uso basico de git

Inicializar un repositorio

Si ya tenemos un proyecto creado, lo mas simple es que inicializemos un repositorio de git con el siguiente comando

Comando

git init

Este comando crea un carpeta con lo necesario para git, (normalmente esta carpeta estara oculta, pero podemos verla de diferentes maneras si es necesario)

Clonar repositorio desde remoto

Si estas trabajando en equipo o si te incorporas a un equipo de desarrollo es probable que tengas que clonar un repositorio desde un host remoto como puede ser bitbucket, gitlab, github o algun otro host de repositorio. Para esto solo devemos conseguir la url para clonarlo desde la terminal con el siguiente comando

Comando

git clone 'urlremota'

Cuando se clona un repositorio remoto, normalmente no es necesario configurar nada de git porque esta misma configuracion se clona al momento de traer toda la informacion desde el servidor remoto

Ramas

Esta es la ventaja principal por la que se usa un manejador de versiones como git hub ya que imagina la siguiente situacion: el desarrollador uno cambia el color de la aplicacion a rojo, pero como esa era su unica tarea manda sus archivos al desarrollador dos, el desarrollador dos tenia como tarea crear el menu de la aplicacion asi que no tiene nada para manejar el color. Cuando recibe el codigo descubre que si remplaza el archivo pierde la configuracion del menu y si en su lugar toma sus archivos pierde la configuracion del color, la solucion mas simple es mezclar ambos archivos para que nadie pierda informacion pero esto debe realizarlo el desarrollador y puede que le tome tiempo.

El ejemplo anterior parece muy simple pero hay que imaginar que un equipo de desarrolladores puede estar conformado por al menos 5 personas o incluso mas y manejar este tipo de cambio es dificil ya que cada uno tiene una copia del proyecto y tambien trabaja en cosas diferentes. Por esta misma razon el equipo de desarrollo del kernel linux tomo la tarea de crear git, un manejador de versiones que ayudara a resolver estos problemas de copias del proyecto.

Una rama es precisamente una copia del proyecto (mostrandolo como de una forma simplicada pero en realidad internamente git trabaja con aputadores y cosas mas complejas) que cada desarrollador tiene y en la que puede trabajar sin tener que preocuparse por los cambios de los demas, ya que estos tambien estaran trabajando en sus propias copias y se que parece el mismo concepto que antes pero mas adelante se entiende porque es mas eficiente usar git.

Listar las ramas existentes

Para ver las ramas que se tienen el repositorio podemos usar el siguiente comando

Comando

git branch

Esto mostrara las listas de ramas de forma local que son las que estan en nuestro equipo pero pueden existir ramas que estan en el servidor remoto asi que podemos ver las ramas locales tanto remotas con agregando un parametro al comando anterior

Comando

git branch --all

Ahora la lista de los repositorios se muestra de manera global, las ramas que estan en el servidor remoto deberian aparecer como remote/ seguido la informacion del nombre de la rama

Crear una rama

Crear una rama es tan simple como usar el comando

Comando

git branch 'nombreRama'

Esto crea una nueva pero si seguimos trabajando con normalidad lo estaremos en la rama original no en la rama nueva, esto es porque git creo la rama pero no nos movimos a la nueva rama, debemos decirle a git que queremos trabajar con la otra rama usando el siguiente comando

Comando

git checkout 'nombreRama'

De esta forma podremos trabajar en la nueva rama, pero existe un forma de crear una rama y movernos a ella cuando se crea usando el siguiente comando

Comando

git checkout -b 'nombreRama'

Por defecto el comando crea la nueva rama a partir de la rama acutal en la que se encuentra el usuario, si se quiere crear una rama nueva tomando como base una rama diferente se puede hacer con el mismo comando pero se debe agregar otro parametro

Comando

git checkout -b 'nombreRama' 'ramaBase'

Moverse entre ramas

Puede que ya estuviera claro pero por si acaso el comando para moverse de una rama a otra es el siguiente

Comando

git checkout 'nombreRama'

Confirmar cambios en una rama

Ahora que tenemos la rama en la que queremos trabajar podemos realizar las modificaciones en el archivo que queremos y cuando guardemos los cambios, podemos confirmar esos cambios en git

Ver el estatus

Para poder ver que canbios temos sin agregaer y sin confirmar o por confirmar podemos usar el siguiente comando

Comando

git status

Este comando muestra la lista de cambios que no estan rastreados, normalmente esta lista se mostrara de un color rojo, para agregar esos cambios debemos usar el siguiente comando

Comando

git add 'ruta del archivo'

Con el comando anterior agregamos los cambios pero aun hace falta confirmarlos con el siguiente comando:

Comando

git commit -m "mensaja si es necesario"

Con el comando anterior confirmamas los cambios que fueron agrados y estan listos para ser enviados al repositorio remoto

Sincronizar con remoto

Cuando nuestros cambio ya fueron confirmados podemos hacer push al repositorio remoto con el siguiente comando

Comando

git push

Cuando ejecutamos el comando es probable que nos pida un nombre y el token que la plataforma de githud nos proporciona o en caso de que usemos algun otro host de repositorios no sera necesario pues el repositorio estarua configurado por ssh

Con lo anterior ya puedes iniciar con tus primeros pasos en git y experimentar por tu cuenta como es que trabaja esta herramienta de gestion de versiones