SlideShare una empresa de Scribd logo
1 de 77
Descargar para leer sin conexión
Bruno Orlandi
Git e contribuição para
projetos Open Source
2ª Edição
Bruno Orlandi
●
5º Ano BCC – ICMC USP
●
P&D – Ícaro Technologies
●
Desenvolvimento Web
●
Gosta de compartilhar 
conhecimento
●
@BrOrlandi
Instalando
●
Instalar o Git:
sudo apt­get install git
●
Escolha sua interface gráfica:
– https://git­scm.com/downloads/guis 
●
Recomendado: GitEye
– http://www.collab.net/downloads/giteye 
Sobre o Minicurso
●
Não será abordado a parte técnica do Git.
●
Objetivo aprender Git e sua utilidade na 
prática!
●
Dúvidas e correções a qualquer momento!
Conteúdo
●
Controle de Versão
●
Comandos Básicos
●
Ramificações
●
Publicando e Colaborando
●
Exercícios
O que é Git-SCM
●
Sistema de Controle de Versão Distribuído
●
SCM   Source Control Management→
●
Criado por Linus Torvalds (2005)
●
Auxiliar no Desenvolvimento do Linux
Gerência de Configuração de
Software
Gerência de Configuração de Software
●
Durante o desenvolvimento do software 
queremos saber:
– O que mudou e quando?
– Por que mudou?
– Quem fez a mudança?
– Podemos reproduzir esta mudança?
Gerência de Configuração de Software
●
Identificação
●
Documentação
●
Controle
●
Auditoria
Gerência de Configuração de Software
●
Artefatos:
– Código fonte
– Documentação do Software
– Manual de Usuário
Problema exemplo
●
Você precisa editar um código que está no seu 
Dropbox
●
Você faz o download do arquivo
●
Faz as alterações necessárias
●
Salva o arquivo no Dropbox
Problema exemplo
●
Seu colega também quer editar o código
●
Vocês baixam o mesmo arquivo junto
●
Você edita e salva no Dropbox
●
Seu colega edita e salva no Dropbox e acaba 
sobrescrevendo seu código
Controle de Versão resolve
●
Controle de versão faz o 'merge' entre as 
alterações.
Git é Distribuído
Controle de Versão
O que é GitHub
●
Servidor de repositórios Git
●
Surgiu em 2008
●
+10 milhões de repositórios
●
+10 milhões de usuários
Estão no GitHub
Usam Git
Alternativas
●
Subversion (SVN)
●
Mercurial
●
CVS ­ Concurrent Versioning System
●
Bazaar
●
Git é o mais rápido e eficiente
Servidores
Servidores/Suporte git Mercurial SVN
GitHub V
GitLab V
Bitbucket V V
SourceForge V V V
Google Code V V V
Vamos começar na prática!
Instalando
●
Instalar o Git:
sudo apt­get install git
●
Escolha sua interface gráfica:
– https://git­scm.com/downloads/guis 
●
Recomendado: GitEye
– http://www.collab.net/downloads/giteye 
Criar conta no Github
●
Acessem https://github.com/
●
Criem sua conta.
●
Lembre­se, através dessa conta você poderá 
contribuir com milhões de projetos open 
source.
Ajuda
●
Quando precisar de ajuda:
git help <command>
●
Site oficial:
– https://git­scm.com/ 
Criando o Primeiro Repositório
git init PrimeiroRepo
●
Será criado o diretório configurado como um 
repositório Git
●
Todas as configurações do repositório ficam 
na pasta .git
Crie seu primeiro arquivo
●
Crie um arquivo, edite e adicione ao 
repositório:
gedit PrimeiroArquivo
git add PrimeiroArquivo
git commit ­m “Criado o primeiro arquivo.”
Configurando
●
Configure seu nome e e­mail:
git config ­­global user.name 
“MeuUserName”
git config ­­global user.email 
“meuemail@email.com”
●
Configure cores no terminal:
git config ­­global color.ui 
auto
Git Status e Log
●
Comando para ver o status do repositório
git status
●
Ver últimos commits no repositório:
git log
Criar um repositório remoto
●
Crie um repositório no Github.
●
Configure o repositório remoto.
●
Crie um arquivo README.md
●
Faça o upload das alterações.
git remote add <remote> <url>
Git Push
●
Enviar alterações (commits) de uma branch 
para o repositório remoto.
●
A primeira vez:
git push ­u origin master
●
O envio é rejeitado se o repositório local não 
estiver sincronizado.
git push <remote> <branch>
git push
Git Add
git add <lista de arquivos>
●
Adiciona os arquivos novos e modificados para 
o próximo commit
git add .
Git Commit
git commit [­m “Message”]
●
Registra o commit com todos os arquivos que 
usou “git add”
●
Se o parametro de mensagem não for passado 
abrirá um editor de texto para escrever a 
mensagem
● git config ­­global core.editor 
gedit
Git Workflow
●
Basicamente a maior parte do trabalho com o 
git consiste nestas tarefas:
– Editar
– Commitar
– Sincronizar com o repositório remoto
●
Exercite estes comandos!
Revisão dos comandos
● git status
● git log
● git add
● git commit
● git push
Status dos arquivos
●
Edite o arquivo criado anteriormente
●
Crie um novo arquivo e veja o seu status no 
repositório
Estados dos arquivos
●
Não monitorado (untracked)
●
Modificado (modified)
●
Preparado (staged)
●
Consolidado (commited)
Estados dos arquivos
Dif
git diff
●
Exibir diferenças entre commits e branchs
git diff [path]
●
Diferença no diretório
git diff HEAD~1
●
Mostra o que foi alterado no último commit
●
Ver diff no GitHub
Ferramenta externa Dif
git config ­­global diff.tool 
diffmerge
●
Permite usar uma ferramenta externa para 
usar no Diff e também no Merge.
git difftool HEAD~1
Exercício 1
●
Remova uma linha de um arquivo
●
Adicione uma nova linha no mesmo arquivo
●
Adicione um novo arquivo com pelo menos 
uma linha
●
Faça o commit e o push das alterações
●
Veja as diferenças do commit pelo GitHub
Git Clone
git clone <URL>
●
Baixa o repositório remoto.
●
Outra forma de criar um repositório local.
●
Já vem com o remote configurado.
Git Pull
git pull 
●
Baixa as alterações do repositório remoto.
●
Mantém o repositório sincronizado com os 
últimos commits de uma branch.
Exercício 2
●
Configure um colaborador para seu 
repositório.
●
Ele deve clonar seu repositório e fazer um 
commit nele.
●
Você deve atualizar seu repositório com o 
novo commit.
●
Invertam os papéis.
Navegar no histórico
git checkout <commit> <file>
●
Permite ver como um arquivo ou todo o 
repositório estava em um determinado 
commit.
Git checkout
git checkout <commit>
●
Altera o repositório para o estado daquele 
commit.
●
Útil para fazer testes antes e depois de 
alterações.
git checkout master
●
Para voltar o repositório no último commit.
Desfazendo alterações
git checkout ­­ <path_or_file>
●
Irá desfazer todas as alterações que não 
estejam no Stage desde o último commit.
git checkout HEAD ­­ <path_file>
●
Desfazer as alterações desde o último commit 
incluindo o Stage.
Git Revert
git revert <commit>
●
Irá criar um novo commit que desfaz as 
alterações do commit especificado.
●
Útil para desfazer um commit antigo.
Git reset
git reset <commit>
●
Resetar o repositório para um determinado 
commit.
git reset ­­hard <commit>
●
Resetar e remover todas as alterações.
– Cuidado ao usar! Não usar se já estiver 
publicado.
●
Útil para desfazer últimos commits.
Conflitos
●
Conflitos podem acontecer ao unirmos 
alterações.
●
Acontecem quando versões diferentes 
possuem as mesmas linhas nos mesmos 
arquivos editadas diferentes.
●
O Git identifica os conflitos e fica aguardando 
a solução deles.
●
Ao resolver os conflitos deve ser feito um 
commit.
Conflitos
Linha 1
Linha 2
Linha 3
Linha 1
Linha 2
Linha 3
Nova linha
Linha 1
Linha 2
Linha 3
Quarta linha
?
Exercício 3
●
Crie um conflito no repositório do seu par.
●
Seu par deve editar o mesmo arquivo que 
você.
●
Você deve fazer o pull, resolver o conflito e 
fazer o push das suas alterações.
●
Seu par deve ver que a sua alteração foi 
adicionada junto à alteração dele.
●
Invertam os papéis.
Branching
Criando ramificações do repositório
Branch
●
É uma lista de commits.
●
Representa ramificações no repositório.
●
Muito útil para trabalhos colaborativos.
●
Branchs de desenvolvimento facilitam o 
controle.
●
Branch master é a padrão.
git branch
Branching
git branch <nova_branch>
●
Cria uma nova branch.
git branch ­d <branch>
●
Excluir uma branch.
Git Checkout Branch
git checkout <branch>
●
Muda para a branch.
●
Seu repositório passa a ter os commits que a 
branch possui e novos commits serão 
adicionados à ela.
Exercício 4
●
Crie uma nova branch no seu repositório.
●
Mude para esta branch e faça pelo menos 2 
commits.
●
Faça o upload e veja sua nova branch no 
GitHub.
●
Faça um commit na master que altere as 
mesmas linhas.
●
Veja como as branchs divergem no GitHub.
Git Merge
git merge <branch>
●
Aplicar os commits de uma branch na branch 
atual.
●
Encontra um commit comum(base) entre as 
branchs e aplica todos os commits que a 
branch atual não possui.
●
Caso existam commits na branch atual que 
não estão na outra, será criado um commit de 
merge.
Exercício 5
●
Fazer o merge da nova branch na master.
●
Resolver o conflito e visualizar no GitHub o 
gráfico das branchs.
Git Rebase
git rebase <branch>
●
Semelhante ao Merge porém é diferente na 
ordem de aplicar os commits.
●
No Rebase, os seus commits na frente da base 
são removidos temporariamente, os commits 
de outra branch são aplicados na sua branch e 
por fim seus commits são aplicados um a um.
●
Pode acontecer conflitos que serão resolvidos 
para cada commit.
Exercício 6
●
Faça um commit na master e outro em outra 
branch.
●
Faça o rebase da branch com a master.
●
Veja a ordem dos commits.
●
Mesmo que tenha conflitos o histórico de 
commits é preservado.
Git Fetch
git fetch
●
Baixa as atualizações do remote porém não 
aplica elas no repositório.
●
Permite fazer o rebase de uma branch em vez 
de fazer o merge.
●
Pull = Fetch + Merge
●
Fetch e Rebase é melhor para manter histórico 
do desenvolvimento.
Exercício 7
●
Com a branch master sincronizadas você e seu 
par devem fazer commits na master.
●
Seu par deve fazer o push dos commits dele.
●
Antes de você fazer o push dos seus commits 
você deve fazer o rebase com os commits do 
seu par.
Tag
●
Útil para definir versões estáveis do projeto.
●
Semelhante a Branch porém não recebe mais 
commits.
●
Guarda um estado do repositório.
git tag [nome da tag]
git push <remote> <tag>
Interfaces Gráficas GUI
●
Pelo terminal se faz tudo.
●
Interfaces gráficas ajudam na visualização e 
auxiliam em algumas tarefas.
●
Recomendadas:
– Egit – Plugin para Eclipse
– GitEye – Linux, Windows e Mac
– SourceTree – Para Windows
●
Não Recomendado: GitHub for Windows
GitHub e colaboração com
Open Source
Fork no GitHub
●
Copia um repositório de outro usuário para o 
seu usuário no GitHub.
●
É assim que começa a contribuição para 
outros projetos.
●
Você teria uma cópia independente do 
repositório original, podendo fazer quaisquer 
alterações.
Issues no GitHub
●
Tradução: Questões.
●
Reportar bugs.
●
Organizar tarefas a serem feitas.
●
Permite discussão entre os usuários.
●
Pode ser referenciado por commits.
– Commit: “Closes #3”
Pull Request
●
O grande simbolo de colaboração.
●
É quando você solicita que sua alterações 
sejam unidas a uma branch no mesmo 
repositório ou a um repositório que sofreu o 
fork.
●
Igual uma Issue porém com uma branch 
associada.
●
Muito útil para o trabalho colaborativo.
Fluxo do GitHub
●
https://guides.github.com/introduction/flow/ 
Exercício Final
●
Faça um fork deste repositório:
https://github.com/BrOrlandi/GitTrainingWall 
●
Rode o projeto.
●
Sua tarefa é criar um template com informações 
do seu usuário no GitHub.
●
Faça o trabalho em um branch separada e depois 
crie um Pull Request para o repositório original.
Caso de Exemplo
●
Extensão para GNOME: Desktop Scroller.
●
Cria uma borda de rolagem entre os Desktops.
●
Permite configurar onde a borda é ativa.
●
Hoje mantido por outros usuários.
Extras
●
.gitignore
●
Git commit ­­ammend
●
Git Stash
●
GitHub pages
●
Milestones
●
Hooks
Dúvidas?
@BrOrlandi
brorlandi@gmail.com
www.slideshare.net/BrunoOrlandi
Obrigado!
Termos
●
Repositório: onde são armazenados todos os 
arquivos do projeto.
●
Commit: registro de alterações realizadas. 
Como se fosse um “checkpoint”.
●
Branch: ramificação do projeto, uma linha de 
desenvolvimento diferente
Termos
●
Merge: incorporar alterações realizadas ou 
unir branchs.
●
Fork: bifurcação, uma cópia do projeto. 
Ubuntu é um fork do Debian.
●
Push: enviar as alterações para um repositório 
remoto.
●
Pull e Fetch: baixar as alterações feitas de um 
repositório remoto. Pull realiza o merge.

Más contenido relacionado

La actualidad más candente

Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errarBruno Calheira
 
Aula 4 - Curso Git e Github - Webschool
Aula 4 - Curso Git e Github - WebschoolAula 4 - Curso Git e Github - Webschool
Aula 4 - Curso Git e Github - WebschoolBruno Orlandi
 
Como participar de projetos Open Source no Github?
Como participar de projetos Open Source no Github?Como participar de projetos Open Source no Github?
Como participar de projetos Open Source no Github?Guilherme Farias
 
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
 
Workshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubWorkshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubGilson Junior
 
Git e Gitlab para Iniciantes
Git e Gitlab para IniciantesGit e Gitlab para Iniciantes
Git e Gitlab para IniciantesIgorDiniz22
 
Controle de versão com git
Controle de versão com gitControle de versão com git
Controle de versão com gitIgorDiniz22
 
Git github tortoise git
Git github tortoise gitGit github tortoise git
Git github tortoise gitmaxrosan
 
Como colaborar com projetos opensource com o GitHub
Como colaborar com projetos opensource com o GitHubComo colaborar com projetos opensource com o GitHub
Como colaborar com projetos opensource com o GitHubJulio Monteiro
 
Learn about Git - Git Tutorial
Learn about Git - Git TutorialLearn about Git - Git Tutorial
Learn about Git - Git TutorialLucas Brigida
 
Iniciando com git
Iniciando com gitIniciando com git
Iniciando com gittechparty
 
Práticas de Agilidade e QA na Comunidade KDE
Práticas de Agilidade e QA na Comunidade KDEPráticas de Agilidade e QA na Comunidade KDE
Práticas de Agilidade e QA na Comunidade KDESandro Andrade
 

La actualidad más candente (20)

Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errar
 
Aula 4 - Curso Git e Github - Webschool
Aula 4 - Curso Git e Github - WebschoolAula 4 - Curso Git e Github - Webschool
Aula 4 - Curso Git e Github - Webschool
 
Como participar de projetos Open Source no Github?
Como participar de projetos Open Source no Github?Como participar de projetos Open Source no Github?
Como participar de projetos Open Source no Github?
 
Git ...ftw!
Git ...ftw!  Git ...ftw!
Git ...ftw!
 
Git & Delphi
Git & DelphiGit & Delphi
Git & Delphi
 
#4 - Git - Stash
#4 - Git - Stash#4 - Git - Stash
#4 - Git - Stash
 
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
 
Workshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubWorkshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHub
 
Ferramentas para versionamento Utilizando git
Ferramentas para versionamento Utilizando gitFerramentas para versionamento Utilizando git
Ferramentas para versionamento Utilizando git
 
Git e Gitlab para Iniciantes
Git e Gitlab para IniciantesGit e Gitlab para Iniciantes
Git e Gitlab para Iniciantes
 
Controle de versão com git
Controle de versão com gitControle de versão com git
Controle de versão com git
 
Git github tortoise git
Git github tortoise gitGit github tortoise git
Git github tortoise git
 
Como colaborar com projetos opensource com o GitHub
Como colaborar com projetos opensource com o GitHubComo colaborar com projetos opensource com o GitHub
Como colaborar com projetos opensource com o GitHub
 
Learn about Git - Git Tutorial
Learn about Git - Git TutorialLearn about Git - Git Tutorial
Learn about Git - Git Tutorial
 
Palestra sobre Git EEDACT2015
Palestra sobre Git EEDACT2015Palestra sobre Git EEDACT2015
Palestra sobre Git EEDACT2015
 
BlingTech - Gitlab
BlingTech - GitlabBlingTech - Gitlab
BlingTech - Gitlab
 
Iniciando com git
Iniciando com gitIniciando com git
Iniciando com git
 
Práticas de Agilidade e QA na Comunidade KDE
Práticas de Agilidade e QA na Comunidade KDEPráticas de Agilidade e QA na Comunidade KDE
Práticas de Agilidade e QA na Comunidade KDE
 
Git alem do basico
Git alem do basicoGit alem do basico
Git alem do basico
 
Git e GitHub - Conceitos Básicos
Git e GitHub - Conceitos BásicosGit e GitHub - Conceitos Básicos
Git e GitHub - Conceitos Básicos
 

Similar a Git e contribuição para projetos Open Source

Minicurso Git Semcomp Beta
Minicurso Git   Semcomp BetaMinicurso Git   Semcomp Beta
Minicurso Git Semcomp BetaBruno Orlandi
 
Controle de versões distribuído para projetos de software
Controle de versões distribuído para projetos de softwareControle de versões distribuído para projetos de software
Controle de versões distribuído para projetos de softwareGilmar Pupo
 
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
 
Workshop sistema de versionamento de código - git
Workshop  sistema de versionamento de código - gitWorkshop  sistema de versionamento de código - git
Workshop sistema de versionamento de código - gitThiago Filadelfo
 
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
 
Fluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando GitFluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando GitBruno Ricardo Siqueira
 
Clean Code/Architecture com Android e Flutter
Clean Code/Architecture com Android e FlutterClean Code/Architecture com Android e Flutter
Clean Code/Architecture com Android e FlutterRicardo Ogliari
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDevHélio Medeiros
 
LPUG #10 agenda e community updates - 2020-09-16
LPUG #10   agenda e community updates - 2020-09-16LPUG #10   agenda e community updates - 2020-09-16
LPUG #10 agenda e community updates - 2020-09-16Fernando Fernández
 
O QGIS, caso de sucesso de um projeto aberto da OSGEO
O QGIS, caso de sucesso de um projeto aberto da OSGEOO QGIS, caso de sucesso de um projeto aberto da OSGEO
O QGIS, caso de sucesso de um projeto aberto da OSGEOLucas Cavalcante
 
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?Danilo J. S. Bellini
 
TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt
TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano SchmidtTDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt
TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidttdc-globalcode
 
Tdc2015 - Trilha Web - Polymer 1.0
Tdc2015 - Trilha Web - Polymer 1.0Tdc2015 - Trilha Web - Polymer 1.0
Tdc2015 - Trilha Web - Polymer 1.0Benedito Batista
 

Similar a Git e contribuição para projetos Open Source (20)

Minicurso Git Semcomp Beta
Minicurso Git   Semcomp BetaMinicurso Git   Semcomp Beta
Minicurso Git Semcomp Beta
 
Controle de versões distribuído para projetos de software
Controle de versões distribuído para projetos de softwareControle de versões distribuído para projetos de software
Controle de versões distribuído para projetos de software
 
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
 
Workshop sistema de versionamento de código - git
Workshop  sistema de versionamento de código - gitWorkshop  sistema de versionamento de código - git
Workshop sistema de versionamento de código - git
 
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
 
Curso git-0001
Curso git-0001Curso git-0001
Curso git-0001
 
Workshop - Git e GitHub
Workshop - Git e GitHubWorkshop - Git e GitHub
Workshop - Git e GitHub
 
Fluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando GitFluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando Git
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Clean Code/Architecture com Android e Flutter
Clean Code/Architecture com Android e FlutterClean Code/Architecture com Android e Flutter
Clean Code/Architecture com Android e Flutter
 
Git
GitGit
Git
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDev
 
Git Overview: Grupo RBS
Git Overview: Grupo RBSGit Overview: Grupo RBS
Git Overview: Grupo RBS
 
LPUG #10 agenda e community updates - 2020-09-16
LPUG #10   agenda e community updates - 2020-09-16LPUG #10   agenda e community updates - 2020-09-16
LPUG #10 agenda e community updates - 2020-09-16
 
O QGIS, caso de sucesso de um projeto aberto da OSGEO
O QGIS, caso de sucesso de um projeto aberto da OSGEOO QGIS, caso de sucesso de um projeto aberto da OSGEO
O QGIS, caso de sucesso de um projeto aberto da OSGEO
 
Git basico
Git basicoGit basico
Git basico
 
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?
 
São Paulo MuleSoft Meetups - DevOps
São Paulo MuleSoft Meetups - DevOpsSão Paulo MuleSoft Meetups - DevOps
São Paulo MuleSoft Meetups - DevOps
 
TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt
TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano SchmidtTDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt
TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt
 
Tdc2015 - Trilha Web - Polymer 1.0
Tdc2015 - Trilha Web - Polymer 1.0Tdc2015 - Trilha Web - Polymer 1.0
Tdc2015 - Trilha Web - Polymer 1.0
 

Git e contribuição para projetos Open Source