Mostrando entradas con la etiqueta instalar. Mostrar todas las entradas
Mostrando entradas con la etiqueta instalar. Mostrar todas las entradas

Que es GIT, diferencias entre GIT y GitHub

Antes de comenzar, me gustaría aclarar una diferencia de conceptos.
GIT y GitHub son totalmente diferentes.

( Instala git en tu pc Mac, Windows o Linux con este tutorial )


GIT es el software que rastrea. El sistema de control de versiones. La herramienta que utilizaremos en la terminal.


GitHub es la plataforma de "hosting" de los proyectos. Una comunidad llena de personas que desarrollan y comparten, usando GIT.


Se complementan, pero son personajes independientes.




¿Qué es GIT?


Es un software rastreador. Le da seguimiento a todos los cambios que se ejecutan sobre un archivo o carpeta. Cada cambio que hagas en un directorio, GIT se da cuenta y lo registra. Así de simple.

Imaginemos un archivo que se modifica constantemente:


Index.html

Hacemos un 1° cambio: Le agregamos una etiqueta <doctype>
* git está atento y lo registra *


2° cambio: Agregamos etiquetas <head> y <body>
* git lo registra nuevamente. Tenemos 2 cambios. *


3° cambio: Agregamos contenido dentro de las etiquetas.
* git siempre lo registra. Tenemos 3 cambios. *




Cada vez que haces un cambio en tu código, GIT registra los cambios y los guarda.


¿Cómo sabe en qué momento guardar los cambios? Tú le avisas.


Es como cuando haces un “Save Game” en un videojuego. Sabes que ya ocurrieron varios cambios porque avanzaste, conseguiste nuevas armas, venciste jefes y necesitas salvar. Las veces que quieras y sean necesarias.




Ahora bien, ¿que pasaría si te dijera que el juego te permitiera ver todos tus momentos salvados del juego? Podrías ubicarte en cualquier momento que gustes de la historia.


Lo mismo ocurre con tus proyectos.


Irás avanzando, generando cambios (la forma en como “salvas” tus avances) y posteriormente, podrás revisar todo tu proyecto.


A este conjunto de cambios (que a partir de este momento les llamaremos “commits”) se le conoce como repositorio.




¿Cómo es el proceso técnico? ¿Si hago 10 cambios, GIT guarda 10 veces todos mis archivos? ¿No estaría generando miles de archivos?


Este concepto y pregunta es muy normal. GIT guarda los cambios que haces, no hace copias de los archivos.


GIT no clona 10 veces tu proyecto cada vez que salvas, sino que registra cuáles fueron las líneas que modificaste, las encapsula en el registro llamado “commit” y con esto, te permite disfrutar de un historial de avances de tu proyecto.


Al final, se podría considerar que es un registro de cambios.

Características de GIT


a) Es un sistema de control de versiones distribuido.


Con esto, nos referimos a que GIT clona los proyectos para que cada persona ó miembro de un equipo tenga una copia exacta y completa de todo el código, historial y las personas que estuvieron involucradas.


El registro encapsulado de todos los cambios de estos elementos se le conoce como repositorio, mencionado anteriormente.


Si se llegase a perder el repositorio original, no habría mucho drama porque es probable que existan personas que tienen un clón. De ahí, se puede partir sin problema.




Básicamente, cada persona (o grupo de personas) mantienen y trabajan sus propios repositorios, derivados del principal, el cual, con toda la flexibilidad, se pueden fusionar y compartir avances.


Cada repositorio es independiente. Y aunque al final buscan establecer un repositorio principal para tener orden, ellos tienen sus repositorios totalmente libres para trabajarlos. Si quieren sincronizar, muy bien, si no, no hay lío.

Repositorios independientes.



Visualicemos un ejemplo de repositorios y sus clones:



Observamos el repositorio original:

Repo Original: a, b, c, d

Cada letra (a,b,c...) se refiere a un cambio del proyecto (un estilo, una línea HTML, alguna función de JS, etc.). Vemos como hay 4 cambios: a,b,c,d.


El proyecto está hospedado en GitHub y ahí es donde se centraliza la versión principal.


Debajo, vemos que hay 2 repositorios más. Leonidas y Harvey.


Leonidas y Harvey hicieron un clon cada uno en su computadora del proyecto.


Como podemos observar, todos los repositorios tienen el commit A igual. Significa que ese conjunto de cambios todo mundo lo tiene.


Después del commit A, cada uno empezó a trabajar el proyecto de diferente manera. Leonidas se fue directo al Frontend a atacar con JS. Harvey se fue al Backend a ponerle Django y en el repositorio original (en GitHub) se observa que sigue avanzando con otros cambios generados por otro equipo de personas.


¿Qué sucede?


Cada repositorio es independiente. Esto significa que no importa si no se sincronizan, ellos pueden avanzar el proyecto a su antojo y necesidades.


Claro está, la idea de esto es colaborar.


Ellos pueden sincronizarse con el repositorio original y compartir todos los cambios y diferencias que han hecho con el proyecto. Pero la idea principal es que esto abre puertas a la colaboración y a la libertad de propuesta.


Todos los clones derivados del repositorio original contienen el mismo registro de cambios, archivos e historial en el commit A. De ahí, cada uno puede seguir sincronizando su proyecto con el original ó avanzar su propio proyecto con sus respectivos cambios.


Si llegan a aparecer más repositorios clones, también pueden colaborar entre ellos sin depender del repositorio principal.


A esto nos referimos con un sistema de control de versiones "distribuido".

b) Es Open Source.


GIT es gratuito, puedes instalarlo en cualquier ordenador o servidor.

c) Puedes utilizarlo offline

Si vas en un avión, puedes seguir trabajando en tu proyecto, en local, para posteriormente cuando te conectes a Internet, puedas subirlo al repositorio principal.

Instalación de Git para MAC, Windows o Linux

Para instalar GIT dependerá del tipo de sistema operativo que tengas, sigue las instrucciones respectivas.

a) Mac
b) Windows
c) Linux

Si llegas a tener dudas, te recomendamos que nos dejes tus preguntas en el sistema de discusiones.


a) Mac



1) Entras a http://git-scm.com/download/mac . Verás que si no se instala automáticamente, tienes una opción para descargarlo manualmente.




2) Después, abrimos la descarga en nuestra computadora e instalamos el archivo que termina en ".pkg"




3) Nos abrirá una ventana con el proceso de instalación y avanzaremos con ella:




4) Para confirmar que lo instalaste, entra a "Utilidades", luego selecciona "Terminal" (la cual estaremos usando todo el curso).




5) Dentro de la Terminal, escribe:


$ which git
/xx/xx/xx
$ git --version
git version x.x.x


Con esto, comprobamos que está instalado Git.




[Problema Común] En caso de que te aparezca “git-x.x.x ha sido bloqueada porque no proviene de un desarrollador autorizado…” mientras instalas, entonces debes de entrar a “Seguridad y Privacidad” y posteriormente, desbloquear.

Para desinstalar, dentro del archivo descargado viene un script llamado “uninstall.sh”, el cual arrastras a tu terminal y queda listo.




Para realizar “upgrades” ó actualizaciones, primero quitamos GIT, y luego instalamos nuevamente.


[2º Problema Común] Si tienes problemas con la versión debido a XCode, te invito a seguir esta discusión con varias soluciones:




b) Windows


2) Descargas el archivo .exe para instalar.
3) Te generará un Git Setup Wizard




4) Acepta todo por default (hay opciones interesantes pero sólo escógelas si sabes que estás haciendo).
5) Después de instalar, te aparecerá un shortcut llamado Git Bash.




¿Qué es Bash?

Bash es un ambiente en UNIX (utilizado en sistemas como GNU/Linux y Mac OS X). Esto permitirá ponernos en sincronía con los usuarios UNIX y podrás seguir el curso con los mismos comandos.

5) Posteriormente, abrimos "Git Bash” y tecleamos lo siguiente (recuerda que el $ no se escribe, es sólo para representar la línea donde vamos a escribir):


$ git --version
git version X.X.X.msysgit.X


El msysgit te comenta que es la versión de Windows. Significa que instalamos bien y en esta terminal estaremos trabajando.


c) Linux


2) Dentro, escoges la distribución y el paquete que quieres utilizar.





3) Corres la instrucción específica.
4) Verificamos que tienes GIT instalado en tu consola ó terminal:


$ git --version
git version X.X.X


Si obtienes la versión, entonces ya tienes GIT instalado en Linux.                           

CommentFB