PDF de programación - Memoria introducción Git

Imágen de pdf Memoria introducción Git

Memoria introducción Gitgráfica de visualizaciones

Publicado el 24 de Enero del 2019
1.053 visualizaciones desde el 24 de Enero del 2019
1,7 MB
19 paginas
Creado hace 10a (12/12/2013)
Jesús Rodríguez Villalobos



UNIVERSIDAD DE ALMERÍA

AMPLIACIÓN DE INGENIERÍA DEL SOFTWARE



Jesús Rodríguez Villalobos



Curso académico 2013-14



5º Ingeniería Informática



Universidad de Almería



1





Jesús Rodríguez Villalobos



1. Capítulo 1: INTRODUCCIÓN

1.1 Acerca del control de versiones

1.2 Una breve historia de GIT

1.3 Fundamentos de GIT

1.4 Instalando GIT

1.5 Configurando GIT por primera vez

2. Capítulo 2: FUNDAMENTOS DE GIT

2.1 Obteniendo un repositorio GIT

2.2 Guardando cambios en el repositorio

2.3 Viendo el histórico de confirmaciones

2.4 Deshaciendo cosas

3. Capítulo 3:Git en un servidor

3.1 Crearnos una cuenta en github

3.2 Establecer relación entre ordenador y github

3.3 Crearnos un repositorio en github

3.4 Conectar repositorio local con repositorio github

4. Bibliografía



2





1. Capítulo 1: INTRODUCCIÓN



Jesús Rodríguez Villalobos

Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la
eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas
tienen un gran número de archivos de código fuente.

1.1 Acerca del control de versiones

Un sistema de control de versiones trata de un sistema que registra todos los cambios
realizados sobre un archivo o conjunto de archivos a lo largo del tiempo, de modo que
podemos recuperar cualquier versión específica más adelante. El control de versiones
se puede realizar tanto para versiones de código fuente como para casi cualquier tipo
de archivo.

Tenemos diferentes sistemas de control de versiones:

- Sistemas de control de versiones locales.
- Sistemas de control de versiones centralizados.
- Sistemas de control de versiones distribuidos.

Como GIT se trata de un sistema de control de versiones distribuido, vamos a tratar un
poco de que trata este sistema de control de versiones.

En un DVCS (Distributed Version Control Systems) cuando el cliente descarga archivos
del repositorio, no sólo descarga la última instantánea de los archivos, también replica
completamente el repositorio. De esta manera, si un servidor muere y hay clientes que
estaban colaborando con él, cualquiera de los repositorios de cualquier cliente puede
copiarse en el servidor para restaurarlo.

Cada vez que se hace una descarga de una instantánea, estaríamos haciendo una copia
de seguridad completa de todos los datos del repositorio.



3





Jesús Rodríguez Villalobos

En muchos de estos sistemas, trabajan con varios repositorios, de forma que
podríamos trabajar con diferentes grupos de gente de forma simultánea dentro del
mismo proyecto, de esta manera podemos decir que tendríamos diferentes flujos de
trabajo que no serían posibles en sistemas centralizados.



1.2 Una breve historia de GIT

En 2005 se produjo la separación entre BitKeeper y la empresa que estaba
desarrollando el núcleo de Linux por dejar de ser gratuita. De esta forma la comunidad
de Linux decidió desarrollar su propia herramienta basada en las lecciones que
aprendieron durante el uso de BitKeeper.

Podemos destacar una serie de características que quisieron tomar como objetivos
base a la hora de desarrollar su propia herramienta:

- Velocidad.
- Diseño sencillo.
- Fuerte apoyo al desarrollo no lineal (ramas).
- Sistema distribuido.
- Capaz de manejar proyectos de gran dimensión.

1.3 Fundamento de GIT

Git almacena y modela la información de forma muy diferente a los demás sistemas de
VCSs, como Subversion y Perforce.



4





Jesús Rodríguez Villalobos

1.3.1

Instantáneas, no diferencias

Forma de almacenar la información los VCS y GIT:

Esta sería la forma de almacenar la información los sistemas VCS Subversion y demás.
Como podemos observar se almacena la información como un conjunto de archivos y
las modificaciones hechas sobra cada uno de ellos a lo largo del tiempo.



Esta sería la forma de almacenar la información los sistemas GIT. Como podemos
observar, GIT almacena los datos como un conjunto de instantáneas. Cuando
confirmamos un cambio, GIT realiza una instantánea del estado de tu proyecto en GIT
y guarda una referencia de dicha foto. Por eficiencia, si no se ha realizado ninguna
modificación, GIT no almacena un archivo nuevo, sino que guarda un enlace al archivo
anterior idéntico al que ya teníamos almacenado.



1.3.2 La mayoría de las operaciones son locales

GIT sólo necesita archivos y recursos locales para operar. Como tenemos toda la
historia del proyecto en nuestro disco local, la mayoría de las operaciones se realizan
de forma muy rápida en comparación con los demás sistemas VCSs.

5






Ejemplos:



Jesús Rodríguez Villalobos

- Para obtener la historia de un proyecto, sólo tendríamos que leer de

nuestra base de datos local.

- Para ver cambios introducidos en la versión actual de un archivo y la versión
de este mismo archivo hace un mes, GIT puede hacer el cálculo de
diferencias localmente.

- Si no tenemos internet, podremos trabajar de forma normal hasta obtener

conexión de internet y subir los nuevos datos.

1.3.3

Integridad

Todo en Git es verificado mediante una suma de comprobación antes de ser
almacenado, de esta forma es imposible cambiar contenidos de cualquier archivo o
directorio sin que GIT lo sepa.

1.3.4 Estados

Los archivos en GIT se pueden encontrar en tres estados diferentes:

- Confirmado: Los datos están almacenados de forma segura en tu base de

datos local.

- Modificado: El archivo ha sido modificado pero no se ha confirmado a tu

base de datos local.

- Preparado: Se trata de marcar un archivo modificado como preparado para

que vaya a la base de datos local en tu próxima confirmación.

En un proyecto de GIT nos encontramos con tres áreas diferentes:

- El directorio de trabajo: Copia de una versión del proyecto.
- El área de preparación: Se trata de un archivo que almacena la información

acerca de lo que va a ir en tu próxima confirmación.

- El directorio de GIT: donde GIT almacena los metadatos y la base de datos

de objetos para tu proyecto.



6





Jesús Rodríguez Villalobos

1.4 Instalando GIT



Para instalar GIT lo podemos hacer de dos formas, desde código fuente o instalar un
paquete existente para tu plataforma.

En nuestro caso lo vamos a instalar en Windows, simplemente tenemos que descargar
el instalador de la siguiente web:

http://code.google.com/p/msysgit

Una vez instalado tenemos la versión de línea de comando.

1.5 Configurando GIT por primera vez

Establecer identidad:

Establecer nombre de usuario y correo electrónico. Esta información es usada por GIT
cuando realizas los commits.



7





Jesús Rodríguez Villalobos

Elegir editor:

Se trata del editor de texto que GIT utilizará si necesita que introduzcas algún mensaje.
Por defecto GIT suele utilizar Vi o Vim aunque también puedes utilizar cualquier otro
como Emacs.

En nuestro caso vamos a utilizar Emacs



Elegir herramienta de diferencias:

Se trata de elegir la herramienta que queremos que GIT utilice para resolver los
conflictos de unión (merge).

Git acepta las siguientes herramientas: kdiff3, tkdiff, meld, xxdif, emerge, vimdiff,
gvimdiff, ecmerge y opendiff.

En nuestro caso vamos a utilizar vimdiff:

Comprobar configuración:

Si queremos ver la configuración que llevamos realizada lo podemos hacer de la
siguiente manera:



8





Jesús Rodríguez Villalobos



2. Capítulo 2: FUNDAMENTOS DE GIT

En este capítulo aprenderemos a configurar e inicializar un repositorio, comenzar y
detener el seguimiento de archivos, y preparar (stage) y confirmar (commit) cambios.
También enseñaremos a configurar Git para que ignore ciertos archivos y patrones,
cómo deshacer errores rápida y fácilmente, cómo navegar por la historia de tu
proyecto y ver cambios entre confirmaciones, y cómo enviar (push) y recibir (pull) de
repositorios remotos.

2.1 Obteniendo un repositorio GIT

Podemos obtener un repositorio de dos formas diferente:

- Cogemos un directorio existente y lo importamos a GIT.
- Clonando un repositorio existente de otro servidor.

2.1.1

Inicializar un repositorio en un directorio existente



9





Jesús Rodríguez Villalobos


Hemos creado una carpeta “Ejemplo1” y con el comando “git init” creamos un
subdirectorio .git que contiene todos los archivos necesarios del repositorio.

Para empezar a controlar versiones de archivos, vamos a crear por ejemplo un
“readme.txt” y mediante el comando “git add” vamos a especificar que archivos
queremos controlar.



2.1.2 Clonar un repositorio existente

Se trata de obtener una copia de un repositorio Git existente, simplemente
utilizaremos el siguiente comando “git clone url”



2.2 Guardando cambios en el repositorio

Cada archivo puede estar en dos estado diferentes, en seguimiento (tracked) o sin
seguimiento (untracked).

Todos los archivos que tienes desde tu última instantánea están en seguimiento
mientras que todos los demás están untracked (cualquier archivo que no estuviese en
tu última instantánea ni está en tu área de preparación).

Cuando clonar un repositorio como hemos hecho nosotros anteriormente, todos los
archivos se encuentran en seguimiento y sin modificaciones.

Una vez clonado un repositorio pasaríamos a modificar archivos, de esta manera GIT
los vería como modificados porque los has cambiado desde tu última confirmación.



10





Jesú
  • Links de descarga
http://lwp-l.com/pdf14972

Comentarios de: Memoria introducción Git (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad