Está en la página 1de 34

Introducción a GIT

1 GIT – SDA – Ing. Carlos Dell’Aquila


Índice
 Motivación
 Introducción a GIT
 Instalando GIT
 Configurando GIT
 Comenzando con GIT
 Repositorios Remoto
 Trabajando con GitHub

2 GIT - SDA
Motivación

¡Es habitual que guardemos las modificaciones en un archivo con código estable!

3 GIT - SDA Proyecto01_v1.vhd


Motivación
Sistemas de Control deVersiones

• Revertir Archivos y Proyectos a un Estado Anterior


• Comparar Cambios a lo largo del tiempo
• Saber quién realiza los cambios
• Recuperar archivos perdidos
• Facilitan el trabajo en grupo cuando son proyectos grandes y complejos

4 GIT - SDA
Motivación
Sistemas de Control deVersiones
En la actualidad se utilizan Sistemas de Control de Versiones Distribuidos.

Sistemas Centralizados Sistemas Distribuidos

5 GIT - SDA
Motivación
Sistemas de Control deVersiones
En la actualidad se utilizan los Sistemas Distribuidos

• Mercurial

• Bazaar

• Darcs

• BitKeeper

• Git
6 GIT - SDA
Motivación
Sistemas de Control deVersiones
En la actualidad se utilizan los Sistemas Distribuidos

• Mercurial

• Bazaar

• Darcs

• BitKeeper

• Git
7 GIT - SDA
Introducción a GIT
 Flujo de trabajo con GIT
• Git Directory, es donde Git almacena los
metadatos y la base de datos de objetos para tu
proyecto. Cada proyecto tiene su propio
directorio y se denomina repositorio.

• Working Directory, es una copia de una


versión del proyecto. Estos archivos se sacan de
la base de datos comprimida en el directorio
de Git.

• Staging Area, es un sencillo archivo,


contenido en el directorio de Git, que
almacena información acerca de lo va a ir en el
próximo commit.

8 GIT - SDA
Introducción a GIT
 Flujo de trabajo con GIT

git checkout

9 GIT - SDA
Introducción con GIT
Archivos en el
 Cíclo de vida de los archivos
Working Directory

Tracked
Tracked Untracked
(Presente en el último commit) (No presente en el último commit)

Staged Unmodified Modified

• La primera vez que clonas un repositorio, todos los


archivos estarán bajo seguimiento y sin modificaciones.

• A medida que se editan los archivos, Git los ve como


modificados.

• Luego esos archivos pasan a estar Staged, y luego se


realiza un commit.

• El estado se puede ver con el comando $ git status


10 GIT - SDA
Instalando GIT
• En Windows
http://msysgit.github.com/

• Distribuciones Linux basadas en Debian,


como Ubuntu
$ sudo apt-get install git

11 GIT - SDA
Configurando GIT

$ git config --global user.name «Juan Perez»


$ git config --global user.email juan.perez@example.com
$ # Esto es un comentario
$ # Comprobación de Configuración
$ git config --list

12 GIT - SDA
Comenzando con GIT
$ # Crear un directorio

$ mkdir repo01

$ # Ingresar al directorio creado

$ cd repo01

$ # Crea un directorio nuevo

$ mkdir datafiles

$ # Creamos algunos archivos

$ touch test01

$ touch test02

$ touch test03

$ touch datafiles/data.txt

$ # Guardamos algo de texto (la salida del comando ls)

$ ls > test01

13 GIT - SDA
Comenzando con GIT
• Inicialización del Repositorio
$ # Iniciamos el Repositorio local Git

$ git init

$ # Vemos el estado que tienen los archivos en el repositorio.

$ git status

$ # Agregamos un archivo al repositorio

14 GIT - SDA $ git add test01


Comenzando con GIT
• Inicialización del Repositorio
$ # Escribimos algo nuevo en el archivo test01

$ echo Hola > test01

$ # Vemos el estado que tienen los archivos en el repositorio.

$ git status

$ # Agregamos todos los archivos al repositorio

15 GIT - SDA $ git add .


Comenzando con GIT
• Inicialización del Repositorio

$ # Se realiza el commit de los archivos en el Staged area.

$ git commit –m «Archivos Iniciales»

$ git log

16 GIT - SDA
Comenzando con GIT
• Modificando archivos del Repositorio

$ # Se agrega un nuevo texto en test01

$ echo Hola Mundo! > test01

$ # ¿Qué estado tiene el archivo ahora?

$ git status

$ # Agregamos test01 a Staging Area

$ git add test01

$ # Se hace un commit de los archivos

$ git commit –m «Nuevo commit con test01 modificado»

$ # Muestro por pantalla el contenido de test01

$ cat test01

17 GIT - SDA
Comenzando con GIT
• Obtener versiones anteriores del proyecto

$ # Se obtiene el código de identificación de los commit

$ git log --oneline

$ # Se vuelve a un commit anterior utilizando su código

$ git checkout 16ded03

$ cat test01

18 GIT - SDA
Comenzando con GIT
• Obtener versiones anteriores del proyecto, mas simple, utilizando
comando Tag. Se utiliza para etiquetar versiones estables o
relevantes del proyecto.

$ # Uso del comando Tag dese el ejemplo anterior

$ git tag version1.0 –m «Version 1.0»

$ # Se vuelve al último commit

$ git checkout master

$ # Se listan todos los Tags disponibles

$ git tag

$ # Se selecciona el Tag de interes.

$ git checkout version1.0

$ cat test01

19 GIT - SDA
Comenzando con GIT
 Comando Diff
El comando diff de Git permite al usuario ver los cambios hechos.

$ # Hacemos cambios en los archivos del repositorio que creamos

$ echo «Este es un cambio» > test01

$ echo «y este es otro cambio» > test02

$ # Vemos los cambios

$ git diff

20 GIT - SDA
Comenzando con GIT
 Eliminar archivos
Si se elimina un archivo que está bajo el control de versiones, el comando $git add .
no tendrá en cuenta que se ha eliminado. Para ello se utilizan los siguientes comando:
$ git rm <file>

21 GIT - SDA
Comenzando con GIT
• Clonando un repositorio existente

$ # Clonando un repositorio remoto

$ git clone https://github.com/libgit2/libgit2

• Se copia el directorio \.git, con todo el historial del proyecto


• Los archivos del proyecto del último commit.

22 GIT - SDA
Comenzando con GIT
 GIT Branching y Merging ( Ramificaciones y Unión )

• Git permite crear Branches. Son


copias independientes del código
fuente que pueden ser cambiadas
Branch Merge independientemente de las otras.
El branch por defecto es llamado
master.

• Merge permite combinar los


cambios de dos branches. Si un
conflicto ocurre, Git marcará el
conflicto en el archivo y el
programador tiene que resolver el
conflicto manualmente.

23 GIT - SDA
Comenzando con GIT
 Crear un Branch

24 GIT - SDA
Comenzando con GIT
 Mergering

25 GIT - SDA
Comenzando con GIT
 Interfaz gráfica

Se instala junto con Git

26 GIT - SDA
Repositorio Remoto - GitHub
 Se estudiarán los comandos básicos para trabajar con
repositorios externos.

• Un Repositorio Remoto puede estar almacenado en forma local


(nuestra PC, por ejemplo) o un servidor.

• El servidor puede ser propio o de un tercero.

• Un servidor muy difundido es GitHub. Para ello crearemos una


cuenta, es muy simple.

• En GitHub, los repositorios de libre acceso son sin costo, por el


contrario, los de acceso restringido si tienen.

27 GIT - SDA
Repositorio Remoto - GitHub
 Flujo de Trabajo

Clonamos el proyecto en Se confirma que


Pull Request:
nuestra PC y creamos los cambios pasan
Proponer cambios.
un nuevo Branch para la pruebas
colaborar en el proyecto.
Hacemos los Se discuten los Merge
Commits cambios
necesarios
28 GIT - SDA
Repositorio Remoto - GitHub
 Pasos…
1. Creamos una cuenta nueva en GitHub (si aún no la tenemos).
2. Creamos un repositorio nuevo.
3. Asignamos colaboradores
4. Copiamos el enlace del nuevo repositorio.
1. 3.

2. 4.

29 GIT - SDA
Repositorio Remoto - GitHub
 Trabajando desde nuestra PC…
$ # Clonamos el repositorio en nuestra PC

$ git clone https://github.com/<tu_usuario>/VHDL_example.git

$ # Creamos un nuevo Branch, el cual agregaremos nuestro código

$ git branch vhdl_code && git checkout vhdlcode

$ # Copiamos en el directorio de trabajo, los archivos de codigo de nuestro proyecto

$ # Agregamos los nuevos archivos al repositorio.

$ git add *.vhd

$ # Realizamos el commit de los nuevos archivos

$ git commit –m «Nuevos archivos del proyecto»

$ # Subimos el branch creado y los nuevos archivos al repositorio

$ git push origin vhdls_code

*Push es el comando para subir cambios a un repositorio remoto


30 GIT - SDA
y origin, hace referencia al repositorio que clonamos.
Repositorio Remoto - GitHub
 Agregando los cambios al branch principal master
Primero se hace Pull-Request, desde GitHub para indicar que quieren agregar nuevos
cambios. Esto lo puede hacer cualquier colaborador desde su cuenta.

31 GIT - SDA
Repositorio Remoto - GitHub
 En Pull-Request se analizan los cambios que se quieren introducir y
además GitHub permite agregar comentarios de los cambios.

32 GIT - SDA
Repositorio Remoto - GitHub
 Luego se puede ver todo el historial de cambios realizados en el
repositorio de GitHub junto con los comentarios y quienes
colaboran con los cambios.

33 GIT - SDA
Referencias
 Scott Chancon and Ben Straub, «ProGit, second edition». Apress.

34 GIT - SDA

También podría gustarte