Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Referencias de programación, Guías, Proyectos, Investigaciones de Programación Java

Son documento para el deber de hig y higab

Tipo: Guías, Proyectos, Investigaciones

2018/2019

Subido el 09/12/2023

wisarriord
wisarriord 🇪🇨

2 documentos

1 / 9

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
WHITEPAPER: CONTROL DE VERSIONES: GIT Y GITHUB
acensTechnologies
Control de versiones: Git y GitHub
pf3
pf4
pf5
pf8
pf9

Vista previa parcial del texto

¡Descarga Referencias de programación y más Guías, Proyectos, Investigaciones en PDF de Programación Java solo en Docsity!

WHITEPAPER: CONTROL DE VERSIONES: GIT Y GITHUB

Control de versiones: Git y GitHub

WHITEPAPER: CONTROL DE VERSIONES: GIT Y GITHUB

A lo largo de la vida del desarrollo de un software es muy habitual que se vayan produciendo cambios en el código, realizados por todos los miembros que trabajan en el proyecto. Para un buen funcionamiento y que todos tengan en todo momento las modificaciones que se han llevado a cabo, es necesario contar con una buena herramienta que permita la gestión del control de versiones. En el mercado hay muchas herramientas que ayudan a conseguir este objetivo pero a lo largo de este White Paper nos centraremos en la combinación de Git y GitHub, que ofrecen todo lo necesario para poder desarrollar software de calidad.

¿Qué es el control de versiones?

Uno de los sueños de todo el mundo es poder volver al pasado para solucionar algún tipo de problema que tengamos en el presente. Por desgracia, estos viajes temporales no son posibles en la vida real, pero al menos sí que es posible hacerlo en el desarrollo de software gracias al control de versiones.

Un sistema de control de versiones es una herramienta capaz de registrar todos los cambios que se realizan en uno o más proyectos, guardando a su vez versiones anteriores del proyecto, versiones a las que podemos acudir en caso de haber metido la pata o al no funcionar de la forma correcta.

El uso de control de versiones no es algo nuevo, sino que se viene utilizando desde hace muchos años, aunque no de la forma en la que se puede hacer en la actualidad, y es que todo el mundo, alguna vez ante un cambio en el código de un proyecto, ha sacado copia del archivo en un directorio para volver al estado anterior en caso de que fallen los cambios. Ésta precisamente la principal ventaja que ofrecen los sistemas de control de versiones actuales.

Además de poder volver a un estado anterior, los actuales sistemas de versiones también ofrecen la posibilidad de comparar los cambios realizados a lo largo del tiempo, ver quién modificó algo en el proyecto que pueda estar causando problemas o el momento exacto en el que alguien introdujo un error en el código.

Clasificación de los sistemas de control de versiones

Dentro del campo de control de versiones, nos podemos encontrar de distintos tipo. Veamos a continuación una clasificación de los más importantes.

a) Sistemas de control de versiones locales Uno de los métodos más utilizados por la gente a la hora de realizar algún tipo de control de versión de sus cambios, consistía en copiar en un directorio de su equipo local el archivo que iba a ser modificado indicando la fecha de modificación, para que en caso de error se supiese cuál era la última versión guardada.

WHITEPAPER: CONTROL DE VERSIONES: GIT Y GITHUB

Este sistema tiene un problema muy claro, y es que al utilizar un único servidor centralizado, en caso de problema en ese servidor toda la información se podría perder.

c) Sistemas de control de versiones distribuidas A diferencia del caso anterior, en estos sistemas no tenemos un único servidor que mantenga la información del proyecto, sino que cada usuario contiene una copia completa del proyecto de forma local. De esta forma, si un servidor muere, cualquiera de los repositorios de los clientes se podría utilizar para restaurar el servidor.

Git pertenece a este tipo de sistemas, uno de los protagonistas de este libro blanco.

WHITEPAPER: CONTROL DE VERSIONES: GIT Y GITHUB

¿Qué es Git?

Git es un sistema de control de versiones distribuido, como habíamos indicado en el punto anterior, cuyo principal objetivo es ayudar en el desarrollo de cualquier tipo de aplicación manteniendo una gran cantidad de código de un gran número de programadores diferentes.

Esta herramienta fue impulsada por Linux Torvalds y el equipo de desarrollo del Kernel de Linux, que al igual que este sistema operativo, lo lanzaron como código abierto, además de encontrárnoslo para las distintas plataformas del mercado. Para hacer uso de ella, lo único que debemos hacer es instalar en nuestro sistema la versión correspondiente al sistema operativo que estemos utilizando.

Podemos encontrar una gran diferencia del uso de Git respecto a otras herramientas similares. La primera de ella es que mientras que otros sistemas almacenan archivos originales, conservando una lista de los cambios realizados, Git guarda un snapshot del estado de cada archivo. Si el archivo no ha cambiado, no crea una nueva copia, sino que crea una referencia al archivo original.

Con todo esto, Git nos aporta:

 Auditoría completa del código, sabiendo en todo momento quién ha tocado algo, cuándo y qué.  Control sobre cómo ha ido cambiando nuestro proyecto con el paso del tiempo.  Volver uno o más pasos hacia atrás de forma rápida.  Control de versiones del proyecto por medio de etiquetas.  Seguridad, ya que todas las estructuras internas de datos irán cifradas con el algoritmo SHA1.

¿Qué es GitHub?

Muchas personas pueden pensar que Git y GitHub son lo mismo, ya que la mayoría de las ocasiones están estrechamente relacionadas, pero a la hora de la verdad, son cosas totalmente distintas.

GitHub se puede definir como un servidor donde alojar los repositorios de los proyectos, añadiendo funcionalidades extra para la gestión del proyecto y del código fuente. A diferencia del proyecto Git, éste se trata de un servicio comercial, ya que aunque tiene una parte pública gratuita, cuenta con la desventaja de que todo el código que subamos estará disponible para cualquier persona. Si queremos decidir quién puede tener acceso a nuestro repositorio, entonces sería necesario pasarse a la modalidad de pago.

WHITEPAPER: CONTROL DE VERSIONES: GIT Y GITHUB

Lo siguiente será configurar nuestro correo electrónico, y la instrucción para esto será.

git config – global user.email [email protected]

Si queremos ver la configuración, bastará con ejecutar lo siguiente.

git config – list

Una vez configurados esos datos, es hora de empezar a trabajar.

1.- Descargar un proyecto por primera vez

Para descargarnos un proyecto por primera vez, hay que utilizar el comando “git clone” seguido de la url de github que corresponde al proyecto.

git clone https://github.com/acens/xxxxxxx.git

Cada proyecto tendrá una ruta distinta que asignará GitHub por defecto. Al ejecutar la instrucción anterior, lo que hemos conseguido es hacer una copia del proyecto que estuviese subido en GitHub a nuestro equipo local.

2.- Ver los cambios realizados en el repositorio

Si queremos ver los cambios que hemos ido haciendo en el repositorio, lo que se utiliza es el comando “git status”.

WHITEPAPER: CONTROL DE VERSIONES: GIT Y GITHUB

En este caso nos encontramos dos apartados bien diferenciados:

Changes not staged for commit. Se corresponde con archivos ya existentes en el repositorio y que han sido modificados.  Untraked files. En este caso corresponden a nuevos archivos que aún no han sido subidos al repositorio.

3.- Añadir cambios

Si queremos subir un archivo modificado al repositorio alojado en GitHub, lo primero que deberemos hacer es indicarlo mediante la instrucción “git add”, seguido de la ruta hasta llegar al archivo que queremos subir.

git add ruta_archivo_subir

Si ahora volvemos a ejecutar el comando “git status”, este archivo nos aparecerá en otra sección llamada “changes to be commited”.