versionando proyectos con git, desarrollo de software colaborativo
TRANSCRIPT
![Page 1: Versionando proyectos con Git, desarrollo de software colaborativo](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/1.jpg)
@DevFOSS
Versionando proyectos con Git, desarrollo de software
colaborativo
![Page 2: Versionando proyectos con Git, desarrollo de software colaborativo](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/2.jpg)
¿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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/3.jpg)
¿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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/6.jpg)
¿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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/14.jpg)
Rev_0 Rev_2Rev_1
master
~$ git branch alterna
alterna
![Page 15: Versionando proyectos con Git, desarrollo de software colaborativo](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/19.jpg)
Sincronizar con repositorio remoto
http://github.com/
http://bitbucket.org/
http://gitorious.org/
@DevFOSS
![Page 20: Versionando proyectos con Git, desarrollo de software colaborativo](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/21.jpg)
![Page 22: Versionando proyectos con Git, desarrollo de software colaborativo](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/22.jpg)
![Page 23: Versionando proyectos con Git, desarrollo de software colaborativo](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/23.jpg)
![Page 24: Versionando proyectos con Git, desarrollo de software colaborativo](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/24.jpg)
Identificando nuestro computador
![Page 25: Versionando proyectos con Git, desarrollo de software colaborativo](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/25.jpg)
![Page 26: Versionando proyectos con Git, desarrollo de software colaborativo](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/26.jpg)
![Page 27: Versionando proyectos con Git, desarrollo de software colaborativo](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/27.jpg)
![Page 28: Versionando proyectos con Git, desarrollo de software colaborativo](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/28.jpg)
~$ 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](https://reader031.vdocuments.site/reader031/viewer/2022021418/58eea40f1a28abae718b4661/html5/thumbnails/29.jpg)
¡Gracias por su atención!http://devfoss.org.ve/
Blog:
@HernanAguilera
http://hernanaguilera.com.ve/
twitter y github:
Web: