SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
Git y Drupal
Drupalcamp Spain 2012, Madrid


               Juan Pablo Novillo Requena (juampy)
Acerca de mí

● Drupal developer en




● Módulos Twitter, OAuth y Devel
  (juampy en Drupal.org)

● Autor de Drush User's Guide
  #drushguide
Introducción
Gestión de ramas
1. Modelo simple con una rama master y ramas
temporales para sprints/casos.

                                  proyecto-a




               sprint-1                   ticket-#230




master

         1.0      1.1     1.2   1.3     1.4         1.5   1.6   2.0
Gestión de ramas (2)
    Git flow

    ● 2 ramas fijas.


    ● Feature, release,
      y hot-fixes.



http://nvie.com/posts/a-successful-git-branching-model/
Diferencias entre ramas (log y diff)
log y diff se pueden utilizar de la misma forma:
git log|diff [desde][..hasta] [-- path]

Ejemplos:

● git log master..2.5

● git diff master..dev

● git log dev..HEAD --
  sites/all/modules/custom
Localizar un bug (git bisect)
                     HEAD




                                        1. git bisect start HEAD HEAD~10




 2. git bisect bad
                            3. git bisect good
Ver el autor de una línea (git blame)
● Muestra el último commit que modificó cada
  línea de un archivo

$ git blame
sites/all/modules/contrib/views/views.module
28161496 (Daniel Wehner   2011-05-28 14:25:16 +0200 20) * Implements hook_forms().



$ git show 28161496
 #769322 by bojanz: Allow views to be...

http://drupal.org/node/769322
Modificar commits antes del push
git rebase -i HEAD~3

Permite:
● Editar un commit.

● Eliminar commits.

● Juntar varios commits en uno.

● Ejecutar un comando entre commits.
Si haces git rebase -i de commits
pusheados...




   http://stuffpoint.com/happy-tree-friends/image/99668-happy-tree-friends-booom.jpg
Crear un parche (método sencillo)
$ cd sites/all/modules/contrib
$ git clone --recursive --branch 7.x-3.x
  http://git.drupal.org/project/views.git

$ cd views

[haz tus cambios]

$ git diff > [description]-[issue-number]-
  [comment-number].patch
Crear un parche (método avanzado)
$ git clone --recursive --branch 7.x-3.x
  http://git.drupal.org/project/views.git

$ cd views

[haz tus cambios]

$ git commit -A -m "Issue #XXXXX by Y,Z: Título"
$ git format-patch origin/7.x-3.x --stdout >
  [project_name]-[short-description]-[issue-number]-
  [comment-number].patch
Ejemplos
Con git format-patch
http://drupal.org/files/pathauto_entity-bulk-
update-support-1407176-1.patch

Con git diff
http://drupal.
org/files/views_slideshow_1499552-03.patch
Aplicar un parche
$ wget [URL del parche]

[revisar los paths dentro del parche]

$ git apply -v [parche]

[verificar los cambios]

$ git commit -A -m "Aplicado parche de http:
//..."
Preguntas



● @juampy72

● linkedin.com/in/juampy

● http://drupal.org/user/682736 (juampy)

Más contenido relacionado

La actualidad más candente

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
Antonio Luque Bravo
 

La actualidad más candente (20)

Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantes
 
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: flujos de trabajo y herramientas para trabajo colaborativo
Git: flujos de trabajo y herramientas para trabajo colaborativoGit: flujos de trabajo y herramientas para trabajo colaborativo
Git: flujos de trabajo y herramientas para trabajo colaborativo
 
Git / Guía Básica
Git / Guía BásicaGit / Guía Básica
Git / Guía Básica
 
Curso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en GithubCurso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en Github
 
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
 
Git: control de versiones
Git: control de versionesGit: control de versiones
Git: control de versiones
 
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
 
Migrando CI a Docker
Migrando CI a DockerMigrando CI a Docker
Migrando CI a Docker
 
Mejora tu productividad con git
Mejora tu productividad con gitMejora tu productividad con git
Mejora tu productividad con git
 
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
 
Repositorio concesionariocochesfloresgomezrobertocarlos
Repositorio concesionariocochesfloresgomezrobertocarlosRepositorio concesionariocochesfloresgomezrobertocarlos
Repositorio concesionariocochesfloresgomezrobertocarlos
 
Mercurial
MercurialMercurial
Mercurial
 
Control de versiones con GIT
Control de versiones con GITControl de versiones con GIT
Control de versiones con GIT
 
Subir versiones a repositorio GitHub
Subir versiones a repositorio GitHubSubir versiones a repositorio GitHub
Subir versiones a repositorio GitHub
 
Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GIT
 
Flujo de trabajo básico con git
Flujo de trabajo básico con gitFlujo de trabajo básico con git
Flujo de trabajo básico con git
 
Primeros pasos con git
Primeros pasos con gitPrimeros pasos con git
Primeros pasos con git
 

Similar a Git y drupal

Similar a Git y drupal (20)

Introducción a git
Introducción a gitIntroducción a git
Introducción a git
 
Git workflow v2
Git workflow  v2Git workflow  v2
Git workflow v2
 
Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GIT
 
Intro a GIT
Intro a GITIntro a GIT
Intro a GIT
 
Git workflow
Git workflowGit workflow
Git workflow
 
Git windows
Git windowsGit windows
Git windows
 
The Gift of Git [Español: La Palabra de Git]
The Gift of Git [Español: La Palabra de Git]The Gift of Git [Español: La Palabra de Git]
The Gift of Git [Español: La Palabra de Git]
 
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
 
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 & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part II
 
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
 
El git nuestro de cada dia
El git nuestro de cada diaEl git nuestro de cada dia
El git nuestro de cada dia
 
Git 101+
Git 101+Git 101+
Git 101+
 
Git para no gitters
Git para no gittersGit para no gitters
Git para no gitters
 
Mini-tutorial de git
Mini-tutorial de gitMini-tutorial de git
Mini-tutorial de git
 
Uso practico de git
Uso practico de gitUso practico de git
Uso practico de git
 
Git Primeros pasos
Git Primeros pasosGit Primeros pasos
Git Primeros pasos
 
Git + Github - Betabeers Córdoba XII
Git + Github - Betabeers Córdoba XIIGit + Github - Betabeers Córdoba XII
Git + Github - Betabeers Córdoba XII
 
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
 
Manual de instalacion y configuracion de nagios
Manual de instalacion y configuracion de nagiosManual de instalacion y configuracion de nagios
Manual de instalacion y configuracion de nagios
 

Más de Juampy NR

Más de Juampy NR (12)

GitHub Pull Request Builder for Drupal
GitHub Pull Request Builder for DrupalGitHub Pull Request Builder for Drupal
GitHub Pull Request Builder for Drupal
 
Por qué Drupal es un potente gestor de contenidos
Por qué Drupal es un potente gestor de contenidosPor qué Drupal es un potente gestor de contenidos
Por qué Drupal es un potente gestor de contenidos
 
Authentication in Drupal 8 - DrupalCamp Spain 2014
Authentication in Drupal 8 - DrupalCamp Spain 2014Authentication in Drupal 8 - DrupalCamp Spain 2014
Authentication in Drupal 8 - DrupalCamp Spain 2014
 
Trabajar en una empresa distribuida - DrupalCamp Mexico 2014
Trabajar en una empresa distribuida - DrupalCamp Mexico 2014Trabajar en una empresa distribuida - DrupalCamp Mexico 2014
Trabajar en una empresa distribuida - DrupalCamp Mexico 2014
 
Drupal & AngularJS - DrupalCamp Spain 2014
Drupal & AngularJS - DrupalCamp Spain 2014Drupal & AngularJS - DrupalCamp Spain 2014
Drupal & AngularJS - DrupalCamp Spain 2014
 
Drupal 8 Authentication
Drupal 8 AuthenticationDrupal 8 Authentication
Drupal 8 Authentication
 
Symfony y Drupal - Drupal Day Santander 2013
Symfony y Drupal - Drupal Day Santander 2013Symfony y Drupal - Drupal Day Santander 2013
Symfony y Drupal - Drupal Day Santander 2013
 
Symfony y Drupal
Symfony y DrupalSymfony y Drupal
Symfony y Drupal
 
Learn through the issue queue
Learn through the issue queueLearn through the issue queue
Learn through the issue queue
 
Drush workshop
Drush workshopDrush workshop
Drush workshop
 
Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012
 
Aegir: un Drupal para gobernarlos a todos
Aegir: un Drupal para gobernarlos a todosAegir: un Drupal para gobernarlos a todos
Aegir: un Drupal para gobernarlos a todos
 

Último

editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
ssusere34b451
 

Último (20)

Tipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de DatosTipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de Datos
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
 
Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .
 
Desarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaDesarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - Estrada
 
Imágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la informaciónImágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la información
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdf
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptx
 
taller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariataller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundaria
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 

Git y drupal

  • 1. Git y Drupal Drupalcamp Spain 2012, Madrid Juan Pablo Novillo Requena (juampy)
  • 2. Acerca de mí ● Drupal developer en ● Módulos Twitter, OAuth y Devel (juampy en Drupal.org) ● Autor de Drush User's Guide #drushguide
  • 4. Gestión de ramas 1. Modelo simple con una rama master y ramas temporales para sprints/casos. proyecto-a sprint-1 ticket-#230 master 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0
  • 5. Gestión de ramas (2) Git flow ● 2 ramas fijas. ● Feature, release, y hot-fixes. http://nvie.com/posts/a-successful-git-branching-model/
  • 6. Diferencias entre ramas (log y diff) log y diff se pueden utilizar de la misma forma: git log|diff [desde][..hasta] [-- path] Ejemplos: ● git log master..2.5 ● git diff master..dev ● git log dev..HEAD -- sites/all/modules/custom
  • 7. Localizar un bug (git bisect) HEAD 1. git bisect start HEAD HEAD~10 2. git bisect bad 3. git bisect good
  • 8. Ver el autor de una línea (git blame) ● Muestra el último commit que modificó cada línea de un archivo $ git blame sites/all/modules/contrib/views/views.module 28161496 (Daniel Wehner 2011-05-28 14:25:16 +0200 20) * Implements hook_forms(). $ git show 28161496 #769322 by bojanz: Allow views to be... http://drupal.org/node/769322
  • 9. Modificar commits antes del push git rebase -i HEAD~3 Permite: ● Editar un commit. ● Eliminar commits. ● Juntar varios commits en uno. ● Ejecutar un comando entre commits.
  • 10. Si haces git rebase -i de commits pusheados... http://stuffpoint.com/happy-tree-friends/image/99668-happy-tree-friends-booom.jpg
  • 11. Crear un parche (método sencillo) $ cd sites/all/modules/contrib $ git clone --recursive --branch 7.x-3.x http://git.drupal.org/project/views.git $ cd views [haz tus cambios] $ git diff > [description]-[issue-number]- [comment-number].patch
  • 12. Crear un parche (método avanzado) $ git clone --recursive --branch 7.x-3.x http://git.drupal.org/project/views.git $ cd views [haz tus cambios] $ git commit -A -m "Issue #XXXXX by Y,Z: Título" $ git format-patch origin/7.x-3.x --stdout > [project_name]-[short-description]-[issue-number]- [comment-number].patch
  • 14. Aplicar un parche $ wget [URL del parche] [revisar los paths dentro del parche] $ git apply -v [parche] [verificar los cambios] $ git commit -A -m "Aplicado parche de http: //..."
  • 15. Preguntas ● @juampy72 ● linkedin.com/in/juampy ● http://drupal.org/user/682736 (juampy)