Categorías




¿Qué es un Git y cuáles son sus características?

¡Hola! Antes que nada bienvenido, es un gusto que nos estés visitando, en esta ocasión ponemos a tu disposición un pequeño artículo introductorio sobre GIT. Iniciaremos dándote una pequeña definición sobre lo que este software es, para qué se utiliza, características principales entre otros detalles más. También definiremos que es GITHUB y BITBUCKET y cuál es el mejor caso para utilizar cada uno. Con esta pequeña introducción esperamos te haya interesado el tema y te quedes con nosotros.
Y como dicen en el teatro… ¡TERCERA LLAMADA… COMENZAMOS!

¿Qué es GIT?

Excelente pregunta chicos, comencemos con un poquito de historia.
Cuenta la leyenda que… nuestro querido GIT surgió después de unos cuantos problemillas.
“…GIT comenzó con un poco de destrucción creativa y la ardiente polémica…”
(Autor: Scott Chacon, Publicado 29 de Julio del 2009, “PROGIT, Tema 1.3 Una breve historia de GIT”, pág. 3 )
Dejemos las cosas en que tuvieron problemillas. El Kernel de Linux fue un proyecto bastante grande de software de open source (código abierto) que durante los años de 1991 al 2002 daban la facilidad de guardar cambios, pero generando parches alrededor del archivo.
Para el año 2002, Kernel de Linux que empezó a utilizar un sistema DVSC patentado llamado BITKEEPER.
¿A qué se refiere con esto? Este software te dejaba regresar a versiones anteriores, algo así como un punto de restauración. Algo hermoso para aquellos a quienes nos gusta programar, regresar al punto donde tu sistema funcionaba a la perfección.
¡Simplemente Hermoso!
Para el año 2005 la comunidad que Desarrolló Kernel y la empresa comercial que desarrolló BITKEEPER quebraron. Imagínate, la perfección terminó, adiós, miles de corazones rotos, ya te imaginaras. Sin embargo esto NO detuvo a nuestra comunidad Linux, ni a Luis Torvalds (creador de Linux) que decidieron desarrollar su propia herramienta, que tuvo sus bases en BITKEEPER.
Desde el 2005 hasta la actualidad GIT ha crecido y evolucionado para ser muchísimo más fácil de comprender para los usuarios, es aún más veloz y una super herramienta para la gestión de grandes proyectos.
Con todo esto, llegamos a la definición de que GIT es un software de código abierto creado por Luis Torvalds y la comunidad Linux, que nos permite crear aplicaciones permitiendo tener las versiones anteriores de esta con el fin de dar un mantenimiento más eficaz y la oportunidad tanto de corregir errores como de hacer mejoras.


Características

  • Comparando a otros sistemas VCS (subversión y compañía incluídos), su almacenamiento de información no es de forma lineal, es más bien como en forma de ficheros, con el fin de mantener la imagen de todos los archivos antes del momento de cambio.
  • La mayoría de cada una de las operaciones son locales. Esto significa que comúnmente solo se utilizarían los archivos locales, es decir del mismo servidor, no es necesario tomar información de otro equipo dentro de la red. (OJO: La mayoría no implica que siempre sea así).
  • La perfecta integridad de GIT. No es posible realizar algún cambio al contenido de cualquier archivo sin que lo sepas
  • No puedes recibir archivos dañados, o perder información en tránsito sin que GIT lo detecte.
  • Es complicado hacer que GIT pueda deshacer y/o eliminar información, generalmente solo introduce información a las bases de datos.


VENTAJAS DESVENTAJAS
Seguridad: GIT hace uso de sistemas de árbol SHA1, lo que asegurará que hasta que no se realice la comprobación del cifrado o firma NO se escribirán los cambios. Aprendizaje: Se debe de dar formación a aquellas personas que van a utilizar nuestro proyecto en desarrollo y que tendrán acceso a nuestro trabajo en el servicio de control de versiones para evitar posible errores.
Ramificación: este tipo de almacenamiento nos permite realizar varias gamas de cambios a la estructura principal.
Coste: Esta herramienta es por completo GRATUITA
Velocidad: ganancia de acceso y escritura
Compartición Selectiva: Tú decides a quien le compartes qué de tus archivos dentro de la red.
Convergencia: Si se hacen cambios sin tener problemas con el resto del proyecto se puede añadir a este creando una nueva versión
Sandbox: Prepara un entorno de prueba sobre el desarrollo de la aplicación, es decir, no se realizan cambios sobre la versión anterior.
Flujo de Trabajo Adaptable: No importa el tipo de trabajo que usemos, GIT nos permite organizar el proyecto a como nosotros nos acomodemos debido a que admite multitud de configuraciones.


Ahora les hablaremos de dos herramientas que son muy famosas en el tema de git, estás son Github y Bitbucket. Estas no son las únicas herramientas o plataformas que existen en el mercado, simplemente son las que más se usan hoy en día.

¿Qué es GitHub?

Es una plataforma que aloja proyectos utilizando el sistema de control de versiones de GIT, el código se almacena de forma pública, sin embargo también podemos hacerlo de manera privada creando una cuenta de pago.
Github te facilita la infraestructura para trabajar en equipos distribuidos a través de una interfaz web.
Si tienes una copia del código fuente en Github tienes un respaldo del proyecto completo (código e historial de modificaciones que el código ha sufrido).
Puedes recuperar la copia del proyecto en cualquier ordenador.

Características

  • Un usuario puede subir sus proyectos y darles una licencia que determinaran el uso que podremos hacer de los proyectos.
  • Se pueden obtener copias de proyecto para seguir trabajándolo y/o modificarlo a su gusto.
  • Cuenta con una característica llamada “Branch” (copia del proyecto) con la intención de trabajar sobre el mismo, sin afectar al original. Puede haber más de un Branch.
  • Tiene diferentes platillas de licencias como: GPL, MIT o APACHE.
  • Cuenta con gráficas que muestran las aportaciones hechas por los usuarios, así como los miembros que trabajan sobre el
  • Tiene características de RED SOCIAL, se tiene un perfil en el que aparecen sus contribuciones y los usuarios pueden seguir entre sí.
  • Cada proyecto puede tener su propia WIKI con manuales e información referente a este.
  • Una organización en GITHUB consiste en un repositorio o una serie de repositorios donde más de una persona son dueños del proyecto.


¿Qué es Bitbucket?

Es un servicio de alojamiento basado en la web para proyectos que utilizan el sistema de control de versiones MERCURIAL y GIT. Fue lanzado en el 2008 por Atlassian Software y está escrito en Python.

Características

  • Si el usuario solo tiene repositorios privados el perfil del sitio web indicará que NO tiene.
  • Puede controlar actividades por BRANCH.
  • Puede agregar KEYS de GOOGLE ANALYTICS.
  • Está integrado a Jira un bug tacking system usado usualmente.
  • Bitbucket ofrece cuentas gratuitas y comerciales, es decir, las gratuitas cuentan con infinidad de repositorios privados y 5 usuarios, sin embargo puede crecer a 8 si invitas a 3 personas más a unirse al servicio.

Estas son unas de las características de BITBUCKET y GITHUB que nos ofrecen estos servidores, ambos nos ofrecen un servicio dentro de la nube.

Muchas gracias por tu tiempo, esperamos que este artículo haya sido de tu agrado, espera más de Annie & Jesus aquí en comunidad.cc. Espera tutoriales tanto de Git como de muchos otros temas.



Refrencias

  • A. Esaú (2 de mayo del 2016). Ventajas del Uso de GIT. España, Avenida República Argentina, 26. 41011 Sevilla: OpenWebinars. https://openwebinars.net/blog/ventajas-del-uso-de-git/
  • andrearrs (23 de Mayo de 2014, 21:11). Github y Bitbucket: servicios de Git en la nube. Madrid, España Calle Quintanavides, 15, 1º planta, 28050: Hipertextual. https://hipertextual.com/archivo/2014/05/github-y-bitbucket/
  • Chacon Scott (2009). Pro Git, 1a Edición. Git –everything is local. https://git-scm.com/book/es/v1