Comenzando con Git
¿Qué es Git?
Git es un sistema de control de versiones diseñado para manejar todo tipo de proyectos tanto pequeños como grandes eficientemente.
Ventajas que posee:
- Branching y merging.
- Ligero y rápido.
- Distribuido.
- Aseguramiento de datos.
- staging área.
- Gratuito y de fuente abierta.
Branching y Merging
Git nos permite tener varias ramas locales, las cuales pueden ser totalmente independiente una de la otra.
Esto permite varias cosas: la primera es que podemos probar a gusto ideas y si no gusta volver atrás de donde hemos hecho esta rama, segundo tener varias ramas, por ejemplo una para testeo, otra para producción, otra para cambios que hagamos día a día, tercero tener una rama para nuevos comportamientos y luego de unirla al máster borrarla, cuarto crear ramas para experimentar.
Ligero y Rápido
Casi todas las operaciones son hechas localmente, por lo que lo hace tener una gran velocidad en comparación contra otros sistemas que son centralizados.
Distribuido
Sin importar que al hacer un checkout del lugar donde estamos actualmente, se crea un clon de todo el repositorio.
Aseguramiento de datos
El data model que utiliza git se asegura de la integridad criptografica de cada bit del proyecto. todo archivo y commit se le hace sumado de chequeo y debuelto cuando es chequeado luego es imposible tener algo fuera de git sin ser los bit exactos que se pusieron.
Staging Área
A diferencia de otros sistemas de versiones, git tiene un área intermedia la cual es llamada staging área o index, en esta área los commits pueden ser revisados antes de completar dichos commits.
Todo pasa por el staging área, incluso si queremos podemos hacer commit a archivos aparte sin necesidad de darle commit a todo lo que estemos haciendo.
Gratuito y de fuente abierta
Git fue realizado bajo la licencia GNU versión 2, licencia open source.
Instalando GIT
En Windows
Para instalar git en windows es muy sencillo solo debes de ir a
https://git-scm.com/downloads . En downloads elegiremos cual instalación necesitamos si una de 32 bits o una de 64 bits.
También posee instalaciones portables así que las puede tener en cuenta.
Esta instalación viene con git bash para instalar, yo, siempre se la instalo, prefiero la consola bash a la de Windows, pero usted tiene todas las posibilidades de no instalarla.
En Linux
En Linux pondremos los comandos para varias distribuciones:
Debian/Ubuntu
Para tener la ultima versión estable en Debian/Ubuntu# apt-get install git
Para Ubuntu, este PPA provee la ultima version de git estable upstream# add-apt-repository ppa:git-core/ppa# apt update; apt install git
Fedora
# yum install git
(up to Fedora 21)# dnf install git
(Fedora 22 and later)
Gentoo
# emerge --ask --verbose dev-vcs/git
Arch Linux
# pacman -S git
openSUSE
# zypper install git
Mageia
# urpmi git
Nix/NixOS
# nix-env -i git
FreeBSD
# pkg install git
Solaris 9/10/11 (OpenCSW)
# pkgutil -i git
Solaris 11 Express
# pkg install developer/versioning/git
OpenBSD
# pkg_add git
Alpine
$ apk add git
GIT GUIs
En GIT también podemos usar interfaz gráfica para no tener que ingresar código manualmente. Igual en este blog se hablará de ambas formas de trabajar con GIT.
GitHub Desktop – creado por github, la verdad es que no se si funciona solo con github. Tendria que probarlo o que alguien me diga si es así.
Git Kraken – git kraken es gratis mientras el proyecto en el que trabajemos sea de código abierto, si no nos costaría 4 dólares al mes
SourceTree – source tree parece ser gratis, este programa fue creado por atlassian, creador también de bitbucket.
Editores de Texto – Últimamente también los editores de código vienen con GUI(graphic user interface) para interactuar con git. En mi caso particular que uso Visual Studio Code, le instalo un pequeño plugin llamado git history anque ya viene para manipular git me parece mucho mejor, ya que con él puedo hacer >git view history.
De esta manera podemos ver quien colaboro los branches y demás.
GIT fuera de la programación
Este no solo está siendo utilizado en programación, también se está utilizando en arte digital, escrituras de novelas y otras. Pensar que algo se utiliza solo en programación porque fue creado con ese propósito no es correcto.
recomiendo también ver: comandos básicos de GIT