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

Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantesnscoder_mad
 
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 colaborativoAprende Git
 
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 GithubCarlos Huamaní
 
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
 
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
 
Mejora tu productividad con git
Mejora tu productividad con gitMejora tu productividad con git
Mejora tu productividad con gitch1l3no
 
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
 
Repositorio concesionariocochesfloresgomezrobertocarlos
Repositorio concesionariocochesfloresgomezrobertocarlosRepositorio concesionariocochesfloresgomezrobertocarlos
Repositorio concesionariocochesfloresgomezrobertocarlosRoberto Carlos Flores Gomez
 
Control de versiones con GIT
Control de versiones con GITControl de versiones con GIT
Control de versiones con GITJulio Silva
 
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 gitJan Sanchez
 
Primeros pasos con git
Primeros pasos con gitPrimeros pasos con git
Primeros pasos con gitJuan Vladimir
 

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

Introducción a git
Introducción a gitIntroducción a git
Introducción a gitKeopx
 
Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GITmaxfontana90
 
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
 
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
 
Git & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part IIMax Rodriguez
 
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
 
El git nuestro de cada dia
El git nuestro de cada diaEl git nuestro de cada dia
El git nuestro de cada diaAlan Descoins
 
Git para no gitters
Git para no gittersGit para no gitters
Git para no gittersRojomorgan
 
Mini-tutorial de git
Mini-tutorial de gitMini-tutorial de git
Mini-tutorial de gitAntonio Ognio
 
Uso practico de git
Uso practico de gitUso practico de git
Uso practico de gitKeopx
 
Git + Github - Betabeers Córdoba XII
Git + Github - Betabeers Córdoba XIIGit + Github - Betabeers Córdoba XII
Git + Github - Betabeers Córdoba XIIquaip
 
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
 
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 nagiosManuel Pérez Ozorio
 

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

GitHub Pull Request Builder for Drupal
GitHub Pull Request Builder for DrupalGitHub Pull Request Builder for Drupal
GitHub Pull Request Builder for DrupalJuampy NR
 
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 contenidosJuampy NR
 
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 2014Juampy NR
 
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 2014Juampy NR
 
Drupal & AngularJS - DrupalCamp Spain 2014
Drupal & AngularJS - DrupalCamp Spain 2014Drupal & AngularJS - DrupalCamp Spain 2014
Drupal & AngularJS - DrupalCamp Spain 2014Juampy NR
 
Drupal 8 Authentication
Drupal 8 AuthenticationDrupal 8 Authentication
Drupal 8 AuthenticationJuampy NR
 
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 2013Juampy NR
 
Symfony y Drupal
Symfony y DrupalSymfony y Drupal
Symfony y DrupalJuampy NR
 
Learn through the issue queue
Learn through the issue queueLearn through the issue queue
Learn through the issue queueJuampy NR
 
Drush workshop
Drush workshopDrush workshop
Drush workshopJuampy NR
 
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 2012Juampy NR
 
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 todosJuampy 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

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Último (16)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

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)