SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
BE HAPPY WITH
SEMANTIC VERSIONING
AND GIT FLOW
Rogério Prado de Jesus	

PHP Conference Brasil	

Dezembro 2012
QUEM SOU EU?

• @rogeriopradoj
• PHP

- Rogério Prado de Jesus	


desde 2009	


• blog: rogeriopradoj.com	

• Grupo

de usuários: PHPSP
VERSIONAMENTO

É sobre isso que vamos
falar…
VERSIONAMENTO
Código Fonte	


Mas esse não
é o único tipo
VERSIONAMENTO
Código Fonte	


Produto

!

Temos que
lembrar desse
aqui também
VERSIONAMENTO
Código Fonte	


Produto	


!

!

VCS	

git, svn, mercurial, cvs...	


iOS 6	

Ubuntu 12.10	

PHP 5.4.9	

jQuery 1.8.3

!
!
VERSIONAMENTO: PRODUTO
Quando outras
pessoas começam a
usar seu produto
(site, biblioteca…)

Publicação

… você precisa de
estratégias para
gerenciar isso tudo
… aí que entra o …

SEMANTIC VERSIONING
• http://semver.org/	


enquanto a tradução
oficial não for
mesclada

• https://github.com/rogeriopradoj/translations/blob/master/

translated/semantic-versioning/pt_BR.md

Elaborado pelo
criador do
@mojombo
@alganet

@augustohp
https://github.com/Respect

descobri sobre o tema com esses
dois caras…
… assistindo uma discussão de como
gerenciar as versões do projeto deles
SEMANTIC VERSIONING
esse é o formato das
versões…

X.Y.Z
Parece conhecido?
SEMANTIC VERSIONING
é o que a gente já fazia…

http://semver.org/

X.Y.Z
major

minor

patch

…mas agora com uma regra
mais rígida…
…um manifesto!
Um dos principais pontos do tema é
evitar que você (e seus usuários) entre
em pânico quando seu produto cresce
de tamanho…
… e consequentemente o
número de dependências
aumenta também

https://en.wikipedia.org/wiki/Dependency_hell
COMPOSER
http://getcomposer.org/

PACKAGIST
https://packagist.org/

Esses dois caras do PHP sugerem
que você use o SEMVER…
…o que facilita a vida de quem
for usar os seus pacotes
Slideshares recomendados se quiser saber mais:	

- http://www.slideshare.net/rdohms	

- http://www.slideshare.net/rogeriopradoj
SEMANTIC VERSIONING
X.Y.Z
major

minor

patch

Para ninguém esquecer!
http://semver.org/
VERSIONAMENTO
Código Fonte	


Produto	


!

!

Já vimos produto…
… vamos para código fonte
VERSIONAMENTO:
CÓDIGO FONTE
O que é para você?
Pode ser isso aqui…
index.php
index.php.old
index.php.old.bkp
index.php.old.bkp.2
index.php.old.bkp.2012
… mas tem
jeito melhor…
… aqui entra o…

VCS

• Version

Control System	


• Sistema

de controle de versões	


• Código

fonte
TIPOS VCS
CENTRALIZADO	


DESCENTRALIZADO	


!

!

Basicamente são
dois tipos…
TIPOS VCS
CENTRALIZADO	


DESCENTRALIZADO	


!

!

https://subversion.apache.org/

http://www.git-scm.com/

… sendo essas as ferramentas mais
conhecidas de cada um deles
TIPOS VCS
CENTRALIZADO	


DESCENTRALIZADO	


!

!

Existe um movimento de
migração de projetos
(principalmente open
source) para
descentralizados…

… o próprio PHP é um
dos casos…

https://github.com/php/
php-src
RAMIFICANDO O VCS

Complexo e formal

Simples e eficiente

cada um deles
tem suas
particularidades
esse é o padrão formal no
SVN (subversion)…
…que geralmente só
usuários avançados
usavam pela
complexidade…
… nos manuais de SVN
são sempre os últimos
capítulos.

Mesmo assim,
corporativamente era um
bom modelo…
… por causa de seu
controle e rigidez
(mesmo deixando os
DEVs malucos!!!)
Quem
nunca
ouviu:
“para
tudo aí
que eu
vou
mesclar!
e "tô"
dando
lock!
No GIT a criação de
branches é assunto
básico…

O próprio ícone do GIT
mostra uma ramificação!!!

… primeiros capítulos do
manual

O problema é que não
existe formalismo…

… o que
corporativamente poderia
ser problema

(apesar dos
DEVs
adorarem!!!)
A SUCCESSFUL GIT
BRANCHING MODEL

• http://nvie.com/posts/a-successful-git-branching-model/	

• https://github.com/rogeriopradoj/translations/blob/master/

translated/a-successful-git-branching-model/pt_BR.md

Um modelo de
ramificação parecido
com o SVN (formal)…

…mas no GIT (sem os
problemas do SVN)
É o que eles
chamaram de

• Descentralizado

Centralizado

Descentralizado
porque é GIT

Centralizado pois
usa um repositório
“central”, ou
principal, que é
usado para sincronia
de todos os outros
Um “origin único”
para todos

Mas que não impede
que existam as
interações normais
do GIT (vários
remotos, por
exemplo)
• Descentralizado
• Formalização

Centralizado	


das ramificações / branches

Segundo ponto
importante
Regras para nomes
de branches…
Main
- master	

- develop	


… facilitando a
comunicação
Supporting
- feature	

- release	

- hotfix
feature
branches

develop

release branches

hotfixes

master

Time

Tag

0.1

Feature
for future
release

Severe bug
fixed for
production:
hotfix 0.2

Major
feature for
next release

Incorporate
bugfix in
develop

Tag

0.2

Start of
release
branch for

1.0

From this point on,
“next release”
means the release
after 1.0

Only
bugfixes!

Bugfixes from
rel. branch
may be
continuously
merged back
into develop

Author: Vincent Driessen
Original blog post: http://nvie.com/archives/323
License: Creative Commons

Tag

1.0

Modelo
da
empresa
NVIE
aplicado
…
… que
até esse
momento
não tinha
nome.
Em pouco
tempo foi criado
o nome do
modelo…

GIT-FLOW
… e também uma ferramenta para
facilitar seu uso fora da NVIE

• https://github.com/nvie/gitflow/	

• Ferramenta

CLI para agilizar o processo de implementação
do modelo git flow da NVIE.com
Alguns
cheatsheets para
facilitar o uso

• http://danielkummer.github.com/git-flow-cheatsheet/	

• http://danielkummer.github.com/git-flow-cheatsheet/

index.pt_BR.html
Importante saber que existem
outros fluxos de trabalho no GIT…
…alguns famosos:

Git "OpenSource" Flow
GitHub Flow: usado pela
empresa GitHub

Nome inventado por
@rogeriopradoj :-)

Principal diferença em relação ao
NVIE git-flow: usa menos
branches, mas mantém a ideia de
repositório central

É o que é usado na maioria dos
projetos OpenSource, com a
ideia de Forks, Pull Requests etc.
É isso aí, pessoal!

SEMANTIC VERSIONING

GIT (*) FLOW
OBRIGADO!

• about.me/rogeriopradoj

Mais conteúdo relacionado

Mais procurados

JavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBJavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBjesuinoPower
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXjesuinoPower
 
Criando aplicações java fx em minutos
Criando aplicações java fx em minutosCriando aplicações java fx em minutos
Criando aplicações java fx em minutosBruno Oliveira
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento4Soft
 
Desenvolvimento web com groovy e grails.
Desenvolvimento web com groovy e grails.Desenvolvimento web com groovy e grails.
Desenvolvimento web com groovy e grails.Bryan Ollivie
 
Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2Claudiney Marques
 
Como se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoComo se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoFlávio Lisboa
 
Desenvolvendo aplicativos nativos com React Native
Desenvolvendo aplicativos nativos com React NativeDesenvolvendo aplicativos nativos com React Native
Desenvolvendo aplicativos nativos com React NativeLuís Felipe Souza
 
Você não faz qualidade em Software - TDC Florianópolis 2020
Você não faz qualidade em Software - TDC Florianópolis 2020Você não faz qualidade em Software - TDC Florianópolis 2020
Você não faz qualidade em Software - TDC Florianópolis 2020Wagner Mendes Voltz Fusca
 
Introdução ao LiveOak
Introdução ao LiveOakIntrodução ao LiveOak
Introdução ao LiveOakjesuinoPower
 
Machucando o código - Técnicas para escrever um código com uma maior legibil...
Machucando o código - Técnicas para escrever um código com uma maior legibil...Machucando o código - Técnicas para escrever um código com uma maior legibil...
Machucando o código - Técnicas para escrever um código com uma maior legibil...Vinícius Krolow
 
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?tdc-globalcode
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão GeralEder Nogueira
 

Mais procurados (20)

Ria e Java FX
Ria e Java FXRia e Java FX
Ria e Java FX
 
JavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBJavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEB
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFX
 
Criando aplicações java fx em minutos
Criando aplicações java fx em minutosCriando aplicações java fx em minutos
Criando aplicações java fx em minutos
 
Zf campus party_2011
Zf campus party_2011Zf campus party_2011
Zf campus party_2011
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento
 
Desenvolvimento web com groovy e grails.
Desenvolvimento web com groovy e grails.Desenvolvimento web com groovy e grails.
Desenvolvimento web com groovy e grails.
 
Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2
 
Groovy Power
Groovy PowerGroovy Power
Groovy Power
 
JavaFX 2
JavaFX 2JavaFX 2
JavaFX 2
 
Como se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoComo se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundo
 
Desenvolvendo aplicativos nativos com React Native
Desenvolvendo aplicativos nativos com React NativeDesenvolvendo aplicativos nativos com React Native
Desenvolvendo aplicativos nativos com React Native
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
Javafx
JavafxJavafx
Javafx
 
Você não faz qualidade em Software - TDC Florianópolis 2020
Você não faz qualidade em Software - TDC Florianópolis 2020Você não faz qualidade em Software - TDC Florianópolis 2020
Você não faz qualidade em Software - TDC Florianópolis 2020
 
Introdução ao LiveOak
Introdução ao LiveOakIntrodução ao LiveOak
Introdução ao LiveOak
 
Machucando o código - Técnicas para escrever um código com uma maior legibil...
Machucando o código - Técnicas para escrever um código com uma maior legibil...Machucando o código - Técnicas para escrever um código com uma maior legibil...
Machucando o código - Técnicas para escrever um código com uma maior legibil...
 
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão Geral
 
Git desde o inicio
Git desde o inicioGit desde o inicio
Git desde o inicio
 

Destaque

Semantic Versioning
Semantic VersioningSemantic Versioning
Semantic VersioningDrupalize.Me
 
SemVer, the whole story
SemVer, the whole storySemVer, the whole story
SemVer, the whole storyJakeGinnivan
 
Semantic Versioning with GitVersion
Semantic Versioning with GitVersionSemantic Versioning with GitVersion
Semantic Versioning with GitVersionGary Park
 
OSGi Community Event 2010 - Automated Semantic Versioning for OSGi Bundles
OSGi Community Event 2010 - Automated Semantic Versioning for OSGi BundlesOSGi Community Event 2010 - Automated Semantic Versioning for OSGi Bundles
OSGi Community Event 2010 - Automated Semantic Versioning for OSGi Bundlesmfrancis
 
Semantic Versioning Lightning Talk
Semantic Versioning Lightning TalkSemantic Versioning Lightning Talk
Semantic Versioning Lightning TalkAaron Blythe
 
Change Management and Versioning in Ontologies
Change Management and Versioning in OntologiesChange Management and Versioning in Ontologies
Change Management and Versioning in OntologiesBaden Hughes
 

Destaque (7)

Semantic Versioning
Semantic VersioningSemantic Versioning
Semantic Versioning
 
Semantic Versioning
Semantic VersioningSemantic Versioning
Semantic Versioning
 
SemVer, the whole story
SemVer, the whole storySemVer, the whole story
SemVer, the whole story
 
Semantic Versioning with GitVersion
Semantic Versioning with GitVersionSemantic Versioning with GitVersion
Semantic Versioning with GitVersion
 
OSGi Community Event 2010 - Automated Semantic Versioning for OSGi Bundles
OSGi Community Event 2010 - Automated Semantic Versioning for OSGi BundlesOSGi Community Event 2010 - Automated Semantic Versioning for OSGi Bundles
OSGi Community Event 2010 - Automated Semantic Versioning for OSGi Bundles
 
Semantic Versioning Lightning Talk
Semantic Versioning Lightning TalkSemantic Versioning Lightning Talk
Semantic Versioning Lightning Talk
 
Change Management and Versioning in Ontologies
Change Management and Versioning in OntologiesChange Management and Versioning in Ontologies
Change Management and Versioning in Ontologies
 

Semelhante a Versionamento de código e produtos com Semantic Versioning e Git Flow

PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 
Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop MagentoThiago Verly
 
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowControle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowLucas Araújo Mezêncio
 
Melhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magentoMelhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magentoRicardo Martins
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework LaminasFlávio Lisboa
 
GitHub Boas Práticas
GitHub Boas PráticasGitHub Boas Práticas
GitHub Boas PráticasCDS
 
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorGit e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorFelipe Pedroso
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Luís Cobucci
 
Controlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitControlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitC. Augusto Proiete
 
Controlo de Versões Distribuído com Git - C. Augusto Proiete
Controlo de Versões Distribuído com Git - C. Augusto ProieteControlo de Versões Distribuído com Git - C. Augusto Proiete
Controlo de Versões Distribuído com Git - C. Augusto ProieteComunidade NetPonto
 
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012Rogerio Prado de Jesus
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Luís Cobucci
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHPVinícius Krolow
 
Do código à produção com Gitlab (mundo python)
Do código à produção com Gitlab (mundo python)Do código à produção com Gitlab (mundo python)
Do código à produção com Gitlab (mundo python)Better Developer
 
Levando seu SCM à outro nível com Feature Flags
Levando seu SCM à outro nível com Feature FlagsLevando seu SCM à outro nível com Feature Flags
Levando seu SCM à outro nível com Feature FlagsAndré Paulovich
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreamsJacqueline Abreu
 
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...Alex Piaz
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 

Semelhante a Versionamento de código e produtos com Semantic Versioning e Git Flow (20)

PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop Magento
 
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowControle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
 
Melhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magentoMelhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magento
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework Laminas
 
GitHub Boas Práticas
GitHub Boas PráticasGitHub Boas Práticas
GitHub Boas Práticas
 
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorGit e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
 
Controlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitControlo de Versões Distribuído com Git
Controlo de Versões Distribuído com Git
 
Controlo de Versões Distribuído com Git - C. Augusto Proiete
Controlo de Versões Distribuído com Git - C. Augusto ProieteControlo de Versões Distribuído com Git - C. Augusto Proiete
Controlo de Versões Distribuído com Git - C. Augusto Proiete
 
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHP
 
Do código à produção com Gitlab (mundo python)
Do código à produção com Gitlab (mundo python)Do código à produção com Gitlab (mundo python)
Do código à produção com Gitlab (mundo python)
 
Levando seu SCM à outro nível com Feature Flags
Levando seu SCM à outro nível com Feature FlagsLevando seu SCM à outro nível com Feature Flags
Levando seu SCM à outro nível com Feature Flags
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
 
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 

Mais de Rogerio Prado de Jesus

Becoming a contributor, open sourcer and beyond: PHPSP + UOL
Becoming a contributor, open sourcer and beyond: PHPSP + UOLBecoming a contributor, open sourcer and beyond: PHPSP + UOL
Becoming a contributor, open sourcer and beyond: PHPSP + UOLRogerio Prado de Jesus
 
Becoming a Contributor, Open Sourcer and Beyond
Becoming a Contributor, Open Sourcer and BeyondBecoming a Contributor, Open Sourcer and Beyond
Becoming a Contributor, Open Sourcer and BeyondRogerio Prado de Jesus
 
Composer para Gestão de Dependências - Encontro PHP - Season
Composer para Gestão de Dependências - Encontro PHP - SeasonComposer para Gestão de Dependências - Encontro PHP - Season
Composer para Gestão de Dependências - Encontro PHP - SeasonRogerio Prado de Jesus
 
Desenvolvimento PHP com Vagrant - 7Masters PHP
Desenvolvimento PHP com Vagrant - 7Masters PHPDesenvolvimento PHP com Vagrant - 7Masters PHP
Desenvolvimento PHP com Vagrant - 7Masters PHPRogerio Prado de Jesus
 
Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012Rogerio Prado de Jesus
 

Mais de Rogerio Prado de Jesus (6)

Becoming a contributor, open sourcer and beyond: PHPSP + UOL
Becoming a contributor, open sourcer and beyond: PHPSP + UOLBecoming a contributor, open sourcer and beyond: PHPSP + UOL
Becoming a contributor, open sourcer and beyond: PHPSP + UOL
 
Becoming a Contributor, Open Sourcer and Beyond
Becoming a Contributor, Open Sourcer and BeyondBecoming a Contributor, Open Sourcer and Beyond
Becoming a Contributor, Open Sourcer and Beyond
 
Vagrant Got Plugins
Vagrant Got PluginsVagrant Got Plugins
Vagrant Got Plugins
 
Composer para Gestão de Dependências - Encontro PHP - Season
Composer para Gestão de Dependências - Encontro PHP - SeasonComposer para Gestão de Dependências - Encontro PHP - Season
Composer para Gestão de Dependências - Encontro PHP - Season
 
Desenvolvimento PHP com Vagrant - 7Masters PHP
Desenvolvimento PHP com Vagrant - 7Masters PHPDesenvolvimento PHP com Vagrant - 7Masters PHP
Desenvolvimento PHP com Vagrant - 7Masters PHP
 
Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012
 

Versionamento de código e produtos com Semantic Versioning e Git Flow