29
@DevFOSS Versionando proyectos con Git, desarrollo de software colaborativo

Versionando proyectos con Git, desarrollo de software colaborativo

Embed Size (px)

Citation preview

Page 1: Versionando proyectos con Git, desarrollo de software colaborativo

@DevFOSS

Versionando proyectos con Git, desarrollo de software

colaborativo

Page 2: Versionando proyectos con Git, desarrollo de software colaborativo

¿Qué es git?

Git es un software para 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.

Web oficial del proyecto: http://git-scm.com/

Fuente: http://es.wikipedia.org/

Page 3: Versionando proyectos con Git, desarrollo de software colaborativo

¿Para que sirve?

- Permite llevar un control de que cambios se han hecho y cuando.

- Permite deshacer cambios realizados al proyecto (devolver versiones).

- Gestiona el trabajo colaborativos de grupos numerosos.

@DevFOSS

Page 4: Versionando proyectos con Git, desarrollo de software colaborativo

Instalación

# aptitude install git-core

# yum install git-core

# pacman -S git-core

Debian y derivados

Fedora, CentOS y derivados

ArchLinux

Para más información visite: http://git-scm.com/download/linux

@DevFOSS

Page 5: Versionando proyectos con Git, desarrollo de software colaborativo

Configurando todo

~$ git config --global user.name "Hernán Aguilera"

~$ git config --global user.email "[email protected]"

Agregando nuestros datos

@DevFOSS

Page 6: Versionando proyectos con Git, desarrollo de software colaborativo

¿Cómo empiezo?

- Quiero modificar el codigo de alguien mas.

- Tengo un proyecto ya creado.

- Comenzar desde cero.

Fuente: http://huntingbears.com.ve/

Page 7: Versionando proyectos con Git, desarrollo de software colaborativo

A partir de código de terceros

git://github.com/usuario/repositorio.git → Solo lectura

[email protected]:usuario/repositorio.git

https://github.com/usuario/repositorio.git

Formatos de url

~$ git clone git://github.com/usuario/repositorio.git

Clonando repositorio

@DevFOSS

Page 8: Versionando proyectos con Git, desarrollo de software colaborativo

Proyecto creado localmente

~$ git init

1.- Iniciando el repositororio

~$ git add .

~$ git commit -a -m "Primer commit"

2.- Agregando archivos y/o directorios

3.- Enviando primer commit

@DevFOSS

Page 9: Versionando proyectos con Git, desarrollo de software colaborativo

Comenzando desde cero

~$ git init

1.- Iniciando el repositororio

~$ git add .

~$ git commit -a -m "Primer commit"

3.- Agrega los archivos y/o directorios

4.- Enviando primer commit

2.- Escribe código[. . . ]

@DevFOSS

Page 10: Versionando proyectos con Git, desarrollo de software colaborativo

Comandos útiles

~$ git status

Consultar el status de nuestro repositorio

~$ git diff

Visualizando cambios entre revisiones y ramas

Consultar el log de nuetra rama~$ git log

@DevFOSS

Page 11: Versionando proyectos con Git, desarrollo de software colaborativo

Regresando cambios

~$ git reset HEAD [ARCHIVO]

Elminar archivos del commit

~$ git checkout [COMMIT] [ARCHIVO]

~$ git reset --hard

Traer archivo desde una revisión especifica

Revertir los cambios hasta la ultima revisión

Regresar a una revisión especifica~$ git revert [COMMIT]

Esta acción no puede deshacerse

@DevFOSS

Page 12: Versionando proyectos con Git, desarrollo de software colaborativo

Trabajando con ramas

~$ git branch [NOMBRE DE LA RAMA]

Crear una nueva rama

~$ git checkout [NOMBRE DE LA RAMA]

~$ git banch [NOMBRE ACTUAL] [NUEVO NOMBRE]

Cambiar de rama

Cambiar nuembre a una rama

Listar las ramas disponibles~$ git branch

~$ git merge [NOMBRE DE LA RAMA]

Uniendo ramas

Eliminar rama~$ git branch -d [NOMBRE DE LA RAMA]

@DevFOSS

Page 13: Versionando proyectos con Git, desarrollo de software colaborativo

Rev_0 Rev_2Rev_1

Master

~$ git commit -a -m "descripción de la revisión"

Page 14: Versionando proyectos con Git, desarrollo de software colaborativo

Rev_0 Rev_2Rev_1

master

~$ git branch alterna

alterna

Page 15: Versionando proyectos con Git, desarrollo de software colaborativo

Rev_0 Rev_2Rev_1

master

~$ git checkout alterna

~$ git commit -a -m "primera version de rama2"

alterna

Reev_3

Page 16: Versionando proyectos con Git, desarrollo de software colaborativo

Rev_0 Rev_2Rev_1

master

~$ git checkout master

~$ git commit -a -m "4ta revisión de rama master"

alterna

Rev_3

Rev_4

Page 17: Versionando proyectos con Git, desarrollo de software colaborativo

Rev_0 Rev_2Rev_1

master

~$ git merge alterna

alterna

Rev_3

Rev_4

Rev_5

Page 18: Versionando proyectos con Git, desarrollo de software colaborativo

Resolviendo conflictos

~$ git diff

1.- Examinar información del conflicto

~$ git add archivo

~$ git commit –m "conflicto resuelto"

3.- Agregar modificaciones al commit

4.- Crear nueva revision

2.- Modificar manualmente los archivos~$ nano archivo

@DevFOSS

Page 19: Versionando proyectos con Git, desarrollo de software colaborativo

Sincronizar con repositorio remoto

http://github.com/

http://bitbucket.org/

http://gitorious.org/

@DevFOSS

Page 20: Versionando proyectos con Git, desarrollo de software colaborativo

Generando llaves SSH

~$ ssh-keygen -t rsa -C "[email protected]"

Enter passphrase (empty for no passphrase): [Type a passphrase]

Enter same passphrase again: [Type passphrase again]

Your identification has been saved in /home/you/.ssh/id_rsa.

Your public key has been saved in /home/you/.ssh/id_rsa.pub.

The key fingerprint is:

01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db [email protected]

Generando llaves con keygen

Agregando la passphrase

Confirmación

@DevFOSS

Page 21: Versionando proyectos con Git, desarrollo de software colaborativo
Page 22: Versionando proyectos con Git, desarrollo de software colaborativo
Page 23: Versionando proyectos con Git, desarrollo de software colaborativo
Page 24: Versionando proyectos con Git, desarrollo de software colaborativo

Identificando nuestro computador

Page 25: Versionando proyectos con Git, desarrollo de software colaborativo
Page 26: Versionando proyectos con Git, desarrollo de software colaborativo
Page 27: Versionando proyectos con Git, desarrollo de software colaborativo
Page 28: Versionando proyectos con Git, desarrollo de software colaborativo

~$ git remote add origin https://github.com/DevFOSS/prueba-conferencia.git

Agregando origen

~$ git push origin master

Enviando un nuestro repositorio local

Sincronizando ambos repositorios

@DevFOSS

Page 29: Versionando proyectos con Git, desarrollo de software colaborativo

¡Gracias por su atención!http://devfoss.org.ve/

Blog:

@HernanAguilera

http://hernanaguilera.com.ve/

twitter y github:

Web: