SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
@DevFOSS
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/
¿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
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
Configurando todo
~$ git config --global user.name "Hernán Aguilera"
~$ git config --global user.email "me@email.com"
Agregando nuestros datos
@DevFOSS
¿Cómo empiezo?
- Quiero modificar el codigo de alguien mas.
- Tengo un proyecto ya creado.
- Comenzar desde cero.
Fuente: http://huntingbears.com.ve/
A partir de código de terceros
git://github.com/usuario/repositorio.git → Solo lectura
git@github.com:usuario/repositorio.git
https://github.com/usuario/repositorio.git
Formatos de url
~$ git clone git://github.com/usuario/repositorio.git
Clonando repositorio
@DevFOSS
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
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
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
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
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
Rev_0 Rev_2Rev_1
Master
~$ git commit -a -m "descripción de la revisión"
Rev_0 Rev_2Rev_1
master
~$ git branch alterna
alterna
Rev_0 Rev_2Rev_1
master
~$ git checkout alterna
~$ git commit -a -m "primera version de rama2"
alterna
Reev_3
Rev_0 Rev_2Rev_1
master
~$ git checkout master
~$ git commit -a -m "4ta revisión de rama master"
alterna
Rev_3
Rev_4
Rev_0 Rev_2Rev_1
master
~$ git merge alterna
alterna
Rev_3
Rev_4
Rev_5
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
Sincronizar con repositorio remoto
http://github.com/
http://bitbucket.org/
http://gitorious.org/
@DevFOSS
Generando llaves SSH
~$ ssh-keygen -t rsa -C "your_email@example.com"
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 your_email@example.com
Generando llaves con keygen
Agregando la passphrase
Confirmación
@DevFOSS
Identificando nuestro computador
~$ 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
¡Gracias por su atención!
http://devfoss.org.ve/
Blog:
@HernanAguilera
http://hernanaguilera.com.ve/
twitter y github:
Web:

Más contenido relacionado

La actualidad más candente

Introducción a Git
Introducción a GitIntroducción a Git
Introducción a GitSergio Rus
 
Uso practico de git
Uso practico de gitUso practico de git
Uso practico de gitKeopx
 
Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantesnscoder_mad
 
Administra tu código con Git y Github
Administra tu código con Git y GithubAdministra tu código con Git y Github
Administra tu código con Git y GithubJavier Novoa Cataño
 
Herramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMPHerramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMPKeopx
 
Git with Scrum en español
Git with Scrum en españolGit with Scrum en español
Git with Scrum en españolRamón Glez
 
Repositorio concesionariocochesfloresgomezrobertocarlos
Repositorio concesionariocochesfloresgomezrobertocarlosRepositorio concesionariocochesfloresgomezrobertocarlos
Repositorio concesionariocochesfloresgomezrobertocarlosRoberto Carlos Flores Gomez
 
Git: Aprovecha las ventajas del control de versiones distribuido
Git: Aprovecha las ventajas del control de versiones distribuidoGit: Aprovecha las ventajas del control de versiones distribuido
Git: Aprovecha las ventajas del control de versiones distribuidoIñaki Arenaza
 
Git: un enfoque práctico
Git: un enfoque prácticoGit: un enfoque práctico
Git: un enfoque prácticoPatxi Gortázar
 
Control de versiones con Git y Github
Control de versiones con Git y GithubControl de versiones con Git y Github
Control de versiones con Git y Githubguest638090
 
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? emateucr
 
Introducción al desarrollo de software en comunidad con forja de software y git
Introducción al desarrollo de software en comunidad con forja de software y gitIntroducción al desarrollo de software en comunidad con forja de software y git
Introducción al desarrollo de software en comunidad con forja de software y gitDrPantera
 
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicacionesGit y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicacionesParadigma Digital
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHubdrsevilla
 

La actualidad más candente (20)

Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
 
Uso practico de git
Uso practico de gitUso practico de git
Uso practico de git
 
Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantes
 
Git / Guía Básica
Git / Guía BásicaGit / Guía Básica
Git / Guía Básica
 
Git - Gitlab
Git - GitlabGit - Gitlab
Git - Gitlab
 
Administra tu código con Git y Github
Administra tu código con Git y GithubAdministra tu código con Git y Github
Administra tu código con Git y Github
 
Herramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMPHerramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMP
 
Git with Scrum en español
Git with Scrum en españolGit with Scrum en español
Git with Scrum en español
 
Repositorio concesionariocochesfloresgomezrobertocarlos
Repositorio concesionariocochesfloresgomezrobertocarlosRepositorio concesionariocochesfloresgomezrobertocarlos
Repositorio concesionariocochesfloresgomezrobertocarlos
 
Introducción a git y git hub
Introducción a git y git hubIntroducción a git y git hub
Introducción a git y git hub
 
Git: Aprovecha las ventajas del control de versiones distribuido
Git: Aprovecha las ventajas del control de versiones distribuidoGit: Aprovecha las ventajas del control de versiones distribuido
Git: Aprovecha las ventajas del control de versiones distribuido
 
Subir versiones a repositorio GitHub
Subir versiones a repositorio GitHubSubir versiones a repositorio GitHub
Subir versiones a repositorio GitHub
 
Taller GitHub
Taller GitHubTaller GitHub
Taller GitHub
 
Git: un enfoque práctico
Git: un enfoque prácticoGit: un enfoque práctico
Git: un enfoque práctico
 
Control de versiones con Git y Github
Control de versiones con Git y GithubControl de versiones con Git y Github
Control de versiones con Git y Github
 
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
 
02 versionamientoy usogit_i_parte
02 versionamientoy usogit_i_parte02 versionamientoy usogit_i_parte
02 versionamientoy usogit_i_parte
 
Introducción al desarrollo de software en comunidad con forja de software y git
Introducción al desarrollo de software en comunidad con forja de software y gitIntroducción al desarrollo de software en comunidad con forja de software y git
Introducción al desarrollo de software en comunidad con forja de software y git
 
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicacionesGit y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHub
 

Similar a Versionando proyectos con Git, desarrollo de software colaborativo

Git & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part IIMax Rodriguez
 
Primeros pasos con git
Primeros pasos con gitPrimeros pasos con git
Primeros pasos con gitJuan Vladimir
 
GIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdfGIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdfMartinBonuccelli
 
Más allá de Git add/commit/push
Más allá de Git add/commit/pushMás allá de Git add/commit/push
Más allá de Git add/commit/pushAlexis Lopez
 
Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GITmaxfontana90
 
Mejora tu productividad con git
Mejora tu productividad con gitMejora tu productividad con git
Mejora tu productividad con gitch1l3no
 
Git para no gitters
Git para no gittersGit para no gitters
Git para no gittersRojomorgan
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a gitKeopx
 
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora BlancoPresentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora BlancoAntonio Luque Bravo
 
GITHUB control de versiones, para el manejo de repositorios versionados
GITHUB control de versiones, para el manejo de repositorios versionadosGITHUB control de versiones, para el manejo de repositorios versionados
GITHUB control de versiones, para el manejo de repositorios versionadosyuri460292
 
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptxGuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptxfuenzalidarodrigo
 
Taller Git en la URJC
Taller Git en la URJC Taller Git en la URJC
Taller Git en la URJC sidelab
 
Uso de git para el mantenimiento de parches locales o públicos
Uso de git para el mantenimiento  de parches locales o públicosUso de git para el mantenimiento  de parches locales o públicos
Uso de git para el mantenimiento de parches locales o públicosIñaki Arenaza
 

Similar a Versionando proyectos con Git, desarrollo de software colaborativo (20)

Git & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part II
 
Primeros pasos con git
Primeros pasos con gitPrimeros pasos con git
Primeros pasos con git
 
github-git-cheat-sheet.pdf
github-git-cheat-sheet.pdfgithub-git-cheat-sheet.pdf
github-git-cheat-sheet.pdf
 
GIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdfGIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdf
 
Más allá de Git add/commit/push
Más allá de Git add/commit/pushMás allá de Git add/commit/push
Más allá de Git add/commit/push
 
Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GIT
 
Mejora tu productividad con git
Mejora tu productividad con gitMejora tu productividad con git
Mejora tu productividad con git
 
Git para no gitters
Git para no gittersGit para no gitters
Git para no gitters
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a git
 
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora BlancoPresentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
 
Cheat-Sheet Git Commands
Cheat-Sheet Git CommandsCheat-Sheet Git Commands
Cheat-Sheet Git Commands
 
GITHUB control de versiones, para el manejo de repositorios versionados
GITHUB control de versiones, para el manejo de repositorios versionadosGITHUB control de versiones, para el manejo de repositorios versionados
GITHUB control de versiones, para el manejo de repositorios versionados
 
Git res baz ec - final
Git   res baz ec - finalGit   res baz ec - final
Git res baz ec - final
 
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptxGuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
 
Intro a GIT
Intro a GITIntro a GIT
Intro a GIT
 
Taller Git en la URJC
Taller Git en la URJC Taller Git en la URJC
Taller Git en la URJC
 
Control de versiones con Git
Control de versiones con GitControl de versiones con Git
Control de versiones con Git
 
Uso de git para el mantenimiento de parches locales o públicos
Uso de git para el mantenimiento  de parches locales o públicosUso de git para el mantenimiento  de parches locales o públicos
Uso de git para el mantenimiento de parches locales o públicos
 
Git for php devs
Git for php devsGit for php devs
Git for php devs
 
Git
GitGit
Git
 

Versionando proyectos con Git, desarrollo de software colaborativo

  • 1. @DevFOSS Versionando proyectos con Git, desarrollo de software colaborativo
  • 2. ¿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/
  • 3. ¿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
  • 4. 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
  • 5. Configurando todo ~$ git config --global user.name "Hernán Aguilera" ~$ git config --global user.email "me@email.com" Agregando nuestros datos @DevFOSS
  • 6. ¿Cómo empiezo? - Quiero modificar el codigo de alguien mas. - Tengo un proyecto ya creado. - Comenzar desde cero. Fuente: http://huntingbears.com.ve/
  • 7. A partir de código de terceros git://github.com/usuario/repositorio.git → Solo lectura git@github.com:usuario/repositorio.git https://github.com/usuario/repositorio.git Formatos de url ~$ git clone git://github.com/usuario/repositorio.git Clonando repositorio @DevFOSS
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. Rev_0 Rev_2Rev_1 Master ~$ git commit -a -m "descripción de la revisión"
  • 14. Rev_0 Rev_2Rev_1 master ~$ git branch alterna alterna
  • 15. Rev_0 Rev_2Rev_1 master ~$ git checkout alterna ~$ git commit -a -m "primera version de rama2" alterna Reev_3
  • 16. Rev_0 Rev_2Rev_1 master ~$ git checkout master ~$ git commit -a -m "4ta revisión de rama master" alterna Rev_3 Rev_4
  • 17. Rev_0 Rev_2Rev_1 master ~$ git merge alterna alterna Rev_3 Rev_4 Rev_5
  • 18. 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
  • 19. Sincronizar con repositorio remoto http://github.com/ http://bitbucket.org/ http://gitorious.org/ @DevFOSS
  • 20. Generando llaves SSH ~$ ssh-keygen -t rsa -C "your_email@example.com" 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 your_email@example.com Generando llaves con keygen Agregando la passphrase Confirmación @DevFOSS
  • 21.
  • 22.
  • 23.
  • 25.
  • 26.
  • 27.
  • 28. ~$ 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
  • 29. ¡Gracias por su atención! http://devfoss.org.ve/ Blog: @HernanAguilera http://hernanaguilera.com.ve/ twitter y github: Web: