SlideShare a Scribd company logo
1 of 20
Download to read offline
Sistema de Versionamento de
Código - GIT
Thiago Ribeiro Filadelfo
Encontre-me no:
THIAGOFILADELFO.COM.BR | BUILDERS CODES
Sobre
Thiago Ribeiro Filadelfo
Formado em Ciência da Computação pela Faculdade da
Fundação Instituto Tecnológico de Osasco, pós-graduado
pela Escola Politécnica - USP e FIAP.
Desde 2006 atuando na área de desenvolvimento de software,
com experiências em web, desktop, mobile e outras
tecnologias.
Atualmente focado no desenvolvimento de aplicações para
Android e iOS.
THIAGOFILADELFO.COM.BR | BUILDERS CODES
Agenda
1. Motivação
2. Introdução ao Controle de Versão
3. Conceitos de Git
4. Mão na massa !? Hand-on
5. Referências para estudos
6. Perguntas
Bateu aquela dúvida ? Enroscou ?
thiago.filadelfo@gmail.com
Lembrente:
Deixar baixando o instalador do GitHub.
http://github.com, no tópico: The power
of GitHub on your desktop abaixo disto
tem um botão de dowload
Já pensou em fazer um zip do seu projeto ?
- Arquivos zips muito grande tendem a corromperem;
- Muitos arquivos com tags indicando qual é a versão (-V1) ou
datados (-04072013);
- Dificil de armazenar e migrar;
THIAGOFILADELFO.COM.BR | BUILDERS CODES
Motivação
Gastou horas para achar o maldito bug?
- Quando não controlamos os documentos, não sabemos quais
alterações foram feitas.
- Gasta-se muito tempo para localizar o arquivo que retorne ou
que solucione o bug;
THIAGOFILADELFO.COM.BR | BUILDERS CODES
Perdeu o controle do change log do projeto ?
- Impossível afirmar que estamos evoluindo no projeto;
- Dificuldade de manter informado os envolvidos as novidades
daquele build ou release;
THIAGOFILADELFO.COM.BR | BUILDERS CODES
Falaremos de uma ferramenta que
contempla muitas destas funcionalidades
Gestão de controle disciplina da Ciência da Computação e Engenharia de software
com finalidades de gerir diferentes versões de qualquer documento.
Sistema de controle de versão ampliamente utilizado em fábricas e softwares, com o
propósito de aproximar os envolvidos, gerir versões e produzir aplicativos executável
estáveis.
THIAGOFILADELFO.COM.BR | BUILDERS CODES
Controle de versão
Introdução ao Git / GitHub
● Conceituação
○ Git é um sistema de versionamento de documento;
○ GitHub é um serviço (gratuito e pago) cloud do git;
○ Existem uma série de vantagens de seu uso e a comunidade opensource
contribuiu para que se tornasse popular;
● Histórico
○ CVS, SVN
○ Mercurial, Sourceface (Microsoft)
○ Git
THIAGOFILADELFO.COM.BR | BUILDERS CODES
Alinhados ? Então mão na massa !!
● Criar um projeto
mkdir workshop_git
cd workshop_git
● Iniciar o projeto com o git (shell ?)
1. > git init
2. > touch .gitignore
3. > git status
4. > git add .
5. > git commit -m "texto"
6. > git log
THIAGOFILADELFO.COM.BR | BUILDERS CODES
Aprofundando os conhecimentos (Git)
● git init
Inicializa a criação de um repositório
● touch .gitignore
Cria um arquivo de nome .gitignore;
Esse arquivo são usados para indicar ao git quais pasta e/ou arquivos que não
serão controlados.
THIAGOFILADELFO.COM.BR | BUILDERS CODES
● git status
Mostra a situação (estados) atual dos arquivos controlados.
● git add . ou git add <file>
Adiciona os arquivos para compor o release de alterações.
THIAGOFILADELFO.COM.BR | BUILDERS CODES
● git commit -m ¨texto¨
Consolida as alterações dos arquivos adicionados.
● git log
Exibe todos o histórico de consolidações.
THIAGOFILADELFO.COM.BR | BUILDERS CODES
Fácil não ? Complicando um pouco !!
● Quero fazer alterações e deixar uma
cópia executando, como fazer ?
Ramificadores: são utilizados para desenvolver funcionalidades isoladas umas
das outras. O branch(ramificador) master é o branch "padrão" quando você cria
um repositório.
● git checkout -b <nome>
Cria um branch com um determinado nome.
Geralmente utilizamos a funcionalidade pela qual serão implementados as
alterações.
THIAGOFILADELFO.COM.BR | BUILDERS CODES
Mexendo com as ramificações
● git checkout <nome>
Seleciona um branch determinado
● git branch -d <nome>
Remove um determinado branch.
● git merge <nome>
Junta um branch ao outro branch.
1. > git checkout master
2. > git merge <branch>
THIAGOFILADELFO.COM.BR | BUILDERS CODES
Fiz besteira ? Eai, como volto?
● git checkout --<nome_arquivo>
Restaura para a última alteração commitada realizada.
1. > git checkout --teste.java
● git diff <branch_1> <branch_2> ou
git diff <file_1> <file_2>
Realiza uma comparação de modificação dos arquivos ou dos branchs
THIAGOFILADELFO.COM.BR | BUILDERS CODES
Tudo bem ! Mas como faço um
projeto ficar no cloud?
● git remote add origin <url>
Adiciona a url de servidor remoto do git (GitHub /Bitbucket).
● git push origin master
Envia as alterações realizadas para o servidor, podendo ser o master ou outro
branch.
● git pull
Recupera as alterações do servidor remoto.
THIAGOFILADELFO.COM.BR | BUILDERS CODES
Branch
O comando pull não funcionou e
agora?
● git fetch origin
Remove todas as alterações locais.
● git reset --hard origin/master
Força a recuperação da versão mais recente do servidor remoto
Pode usar sempre ?
Pessoalmente não é aconselhável !!! Pois pode perder o propósito do controle de
versão.
THIAGOFILADELFO.COM.BR | BUILDERS CODES
Não gostei do GitHub ! Tem outro ?
● GitHub
Beneficios:
- Quantidades ilimitadas de
projetos públicos e colaboradores
para esse projeto
Desvantagens
- Projetos privados somente na
conta paga.
● BitBucket
Beneficios:
- Quantidades ilimitadas de
projetos privados e públicos.
Desvantagens
- Para os projetos privados número
de colaboradores limitado (5)
THIAGOFILADELFO.COM.BR | BUILDERS CODES
thiago.filadelfo@gmail.com
@trfiladelfo
COMPANYNAME.COM | PRESENTATION
Dúvidas ?
Perguntas ?
Iniciada a sessão de discussão !!
Obrigado
Referências
● http://rogerdudler.github.io/git-
guide/index.pt_BR.html
● http://github.com/blog
Força a recuperação da versão mais recente do servidor remoto
Experts ?
http://training.github.com

More Related Content

What's hot

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
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDevHélio Medeiros
 
Github - Escrevendo código e compartilhando conhecimento
Github - Escrevendo código e compartilhando conhecimentoGithub - Escrevendo código e compartilhando conhecimento
Github - Escrevendo código e compartilhando conhecimentoHélio Medeiros
 
GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...
GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...
GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...Pedro Moreira da Silva
 
Controle de Versões com Git
Controle de Versões com GitControle de Versões com Git
Controle de Versões com GitVagner Santana
 
Controle de Mudanças com GitHub
Controle de Mudanças com GitHubControle de Mudanças com GitHub
Controle de Mudanças com GitHubBruno Furtado
 
Controle de versão com Git e BitBucket
Controle de versão com Git e BitBucketControle de versão com Git e BitBucket
Controle de versão com Git e BitBucketMarcio Barbosa
 
Mini aula-sublime-text-git-e-github
Mini aula-sublime-text-git-e-githubMini aula-sublime-text-git-e-github
Mini aula-sublime-text-git-e-githubWilson Mendes
 
Git e boas praticas!
Git e boas praticas!Git e boas praticas!
Git e boas praticas!Vitor Silva
 
Git that like a boss - Dos comandos básicos aos branches.
Git that like a boss - Dos comandos básicos aos branches.Git that like a boss - Dos comandos básicos aos branches.
Git that like a boss - Dos comandos básicos aos branches.Hélio Medeiros
 

What's hot (20)

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?
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDev
 
Git/GitHub
Git/GitHubGit/GitHub
Git/GitHub
 
Github - Escrevendo código e compartilhando conhecimento
Github - Escrevendo código e compartilhando conhecimentoGithub - Escrevendo código e compartilhando conhecimento
Github - Escrevendo código e compartilhando conhecimento
 
Minicurso Git
Minicurso GitMinicurso Git
Minicurso Git
 
Mini Curso - Git com GitHub
Mini Curso - Git com GitHubMini Curso - Git com GitHub
Mini Curso - Git com GitHub
 
Git Rápido e Fácil
Git Rápido e FácilGit Rápido e Fácil
Git Rápido e Fácil
 
GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...
GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...
GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...
 
Workshop - Git e GitHub
Workshop - Git e GitHubWorkshop - Git e GitHub
Workshop - Git e GitHub
 
Git & Delphi
Git & DelphiGit & Delphi
Git & Delphi
 
Controle de Versões com Git
Controle de Versões com GitControle de Versões com Git
Controle de Versões com Git
 
Controle de Mudanças com GitHub
Controle de Mudanças com GitHubControle de Mudanças com GitHub
Controle de Mudanças com GitHub
 
Git ...ftw!
Git ...ftw!  Git ...ftw!
Git ...ftw!
 
Git Overview: Grupo RBS
Git Overview: Grupo RBSGit Overview: Grupo RBS
Git Overview: Grupo RBS
 
Controle de versão com Git e BitBucket
Controle de versão com Git e BitBucketControle de versão com Git e BitBucket
Controle de versão com Git e BitBucket
 
Mini aula-sublime-text-git-e-github
Mini aula-sublime-text-git-e-githubMini aula-sublime-text-git-e-github
Mini aula-sublime-text-git-e-github
 
Git
GitGit
Git
 
Git e boas praticas!
Git e boas praticas!Git e boas praticas!
Git e boas praticas!
 
Git that like a boss - Dos comandos básicos aos branches.
Git that like a boss - Dos comandos básicos aos branches.Git that like a boss - Dos comandos básicos aos branches.
Git that like a boss - Dos comandos básicos aos branches.
 
Git e GitHub - Conceitos Básicos
Git e GitHub - Conceitos BásicosGit e GitHub - Conceitos Básicos
Git e GitHub - Conceitos Básicos
 

Viewers also liked

Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version Control
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version ControlJoomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version Control
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version ControlJoomla!Day Brasil
 
GCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS ÁgilGCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS ÁgilMisael Santos
 
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataformaWine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataformaPaulo César M Jeveaux
 
GCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisGCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisMisael Santos
 
[Mini-curso] Sistema de Controle de Versão
[Mini-curso] Sistema de Controle de Versão[Mini-curso] Sistema de Controle de Versão
[Mini-curso] Sistema de Controle de VersãoMarco Rosner
 
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVNControle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVNFelipe Queiroz
 
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...especificacoes.com
 
Apresentação do SAEO na Administração Pública
Apresentação do SAEO na Administração PúblicaApresentação do SAEO na Administração Pública
Apresentação do SAEO na Administração PúblicaMarco Rosner
 
Introdução ao Sistema de Controle de Versão
Introdução ao Sistema de Controle de VersãoIntrodução ao Sistema de Controle de Versão
Introdução ao Sistema de Controle de VersãoFernando Machado
 
QConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestruturaQConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestruturaDiego Pacheco
 
Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Diego Pacheco
 
O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0Wilson Mendes
 
Controle de versão utilizando git
Controle de versão utilizando gitControle de versão utilizando git
Controle de versão utilizando gitfredmosc
 
Gerenciadores de Controle de Versão: Git, Mercurial e Bazaar
Gerenciadores de Controle de Versão: Git, Mercurial e BazaarGerenciadores de Controle de Versão: Git, Mercurial e Bazaar
Gerenciadores de Controle de Versão: Git, Mercurial e BazaarIvanilton Polato
 
Sistemas de Controle de Versão
Sistemas de Controle de VersãoSistemas de Controle de Versão
Sistemas de Controle de VersãoJonathas Silva
 
Sistema de Controle de Versão - CVS, SVN e GIT
Sistema de Controle de Versão - CVS, SVN e GITSistema de Controle de Versão - CVS, SVN e GIT
Sistema de Controle de Versão - CVS, SVN e GITGabriel Rubens
 
Open4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourceOpen4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourcetdc-globalcode
 

Viewers also liked (20)

Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version Control
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version ControlJoomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version Control
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version Control
 
GCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS ÁgilGCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS Ágil
 
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataformaWine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
 
GCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisGCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos Principais
 
[Mini-curso] Sistema de Controle de Versão
[Mini-curso] Sistema de Controle de Versão[Mini-curso] Sistema de Controle de Versão
[Mini-curso] Sistema de Controle de Versão
 
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVNControle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
 
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...
 
Apresentação do SAEO na Administração Pública
Apresentação do SAEO na Administração PúblicaApresentação do SAEO na Administração Pública
Apresentação do SAEO na Administração Pública
 
Introdução ao Sistema de Controle de Versão
Introdução ao Sistema de Controle de VersãoIntrodução ao Sistema de Controle de Versão
Introdução ao Sistema de Controle de Versão
 
Controle de versão com GIT
Controle de versão com GITControle de versão com GIT
Controle de versão com GIT
 
QConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestruturaQConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestrutura
 
Alm open source
Alm open sourceAlm open source
Alm open source
 
Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0
 
Android UI Fundamentals part 1
Android UI Fundamentals part 1Android UI Fundamentals part 1
Android UI Fundamentals part 1
 
O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0
 
Controle de versão utilizando git
Controle de versão utilizando gitControle de versão utilizando git
Controle de versão utilizando git
 
Gerenciadores de Controle de Versão: Git, Mercurial e Bazaar
Gerenciadores de Controle de Versão: Git, Mercurial e BazaarGerenciadores de Controle de Versão: Git, Mercurial e Bazaar
Gerenciadores de Controle de Versão: Git, Mercurial e Bazaar
 
Sistemas de Controle de Versão
Sistemas de Controle de VersãoSistemas de Controle de Versão
Sistemas de Controle de Versão
 
Sistema de Controle de Versão - CVS, SVN e GIT
Sistema de Controle de Versão - CVS, SVN e GITSistema de Controle de Versão - CVS, SVN e GIT
Sistema de Controle de Versão - CVS, SVN e GIT
 
Open4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourceOpen4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSource
 

Similar to 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 desenvolvedorFelipe Pedroso
 
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
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Danilo Pinotti
 
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
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACDanilo Pinotti
 
Git github tortoise git
Git github tortoise gitGit github tortoise git
Git github tortoise gitmaxrosan
 
Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Erik Cruz
 
Introdução ao Git + Workshop
Introdução ao Git + WorkshopIntrodução ao Git + Workshop
Introdução ao Git + Workshopoverduka
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao gitDiogo Gomes
 
workshopgitparainiciantes1-190901224755.pdf
workshopgitparainiciantes1-190901224755.pdfworkshopgitparainiciantes1-190901224755.pdf
workshopgitparainiciantes1-190901224755.pdfAuriceliaRosa
 
Gerencie as Mudanças de Seu Código Usando Git
Gerencie as Mudanças de Seu Código Usando GitGerencie as Mudanças de Seu Código Usando Git
Gerencie as Mudanças de Seu Código Usando GitFaculdade Martha Falcão
 

Similar to Workshop sistema de versionamento de código - git (20)

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
 
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
 
Controle de versão e colaboração com Git
Controle de versão e colaboração com GitControle de versão e colaboração com Git
Controle de versão e colaboração com Git
 
Git básico
Git básicoGit básico
Git básico
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
 
Git e github
Git e githubGit e github
Git e github
 
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
 
Introducao ao Git
Introducao ao GitIntroducao ao Git
Introducao ao Git
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Git para Designers
Git para DesignersGit para Designers
Git para Designers
 
Ferramentas para versionamento Utilizando git
Ferramentas para versionamento Utilizando gitFerramentas para versionamento Utilizando git
Ferramentas para versionamento Utilizando git
 
Git github tortoise git
Git github tortoise gitGit github tortoise git
Git github tortoise git
 
Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021
 
Introdução ao Git + Workshop
Introdução ao Git + WorkshopIntrodução ao Git + Workshop
Introdução ao Git + Workshop
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao git
 
Git ao GitHub
Git ao GitHubGit ao GitHub
Git ao GitHub
 
workshopgitparainiciantes1-190901224755.pdf
workshopgitparainiciantes1-190901224755.pdfworkshopgitparainiciantes1-190901224755.pdf
workshopgitparainiciantes1-190901224755.pdf
 
Gerencie as Mudanças de Seu Código Usando Git
Gerencie as Mudanças de Seu Código Usando GitGerencie as Mudanças de Seu Código Usando Git
Gerencie as Mudanças de Seu Código Usando Git
 

Workshop sistema de versionamento de código - git

  • 1. Sistema de Versionamento de Código - GIT Thiago Ribeiro Filadelfo Encontre-me no:
  • 2. THIAGOFILADELFO.COM.BR | BUILDERS CODES Sobre Thiago Ribeiro Filadelfo Formado em Ciência da Computação pela Faculdade da Fundação Instituto Tecnológico de Osasco, pós-graduado pela Escola Politécnica - USP e FIAP. Desde 2006 atuando na área de desenvolvimento de software, com experiências em web, desktop, mobile e outras tecnologias. Atualmente focado no desenvolvimento de aplicações para Android e iOS.
  • 3. THIAGOFILADELFO.COM.BR | BUILDERS CODES Agenda 1. Motivação 2. Introdução ao Controle de Versão 3. Conceitos de Git 4. Mão na massa !? Hand-on 5. Referências para estudos 6. Perguntas Bateu aquela dúvida ? Enroscou ? thiago.filadelfo@gmail.com Lembrente: Deixar baixando o instalador do GitHub. http://github.com, no tópico: The power of GitHub on your desktop abaixo disto tem um botão de dowload
  • 4. Já pensou em fazer um zip do seu projeto ? - Arquivos zips muito grande tendem a corromperem; - Muitos arquivos com tags indicando qual é a versão (-V1) ou datados (-04072013); - Dificil de armazenar e migrar; THIAGOFILADELFO.COM.BR | BUILDERS CODES Motivação
  • 5. Gastou horas para achar o maldito bug? - Quando não controlamos os documentos, não sabemos quais alterações foram feitas. - Gasta-se muito tempo para localizar o arquivo que retorne ou que solucione o bug; THIAGOFILADELFO.COM.BR | BUILDERS CODES
  • 6. Perdeu o controle do change log do projeto ? - Impossível afirmar que estamos evoluindo no projeto; - Dificuldade de manter informado os envolvidos as novidades daquele build ou release; THIAGOFILADELFO.COM.BR | BUILDERS CODES
  • 7. Falaremos de uma ferramenta que contempla muitas destas funcionalidades Gestão de controle disciplina da Ciência da Computação e Engenharia de software com finalidades de gerir diferentes versões de qualquer documento. Sistema de controle de versão ampliamente utilizado em fábricas e softwares, com o propósito de aproximar os envolvidos, gerir versões e produzir aplicativos executável estáveis. THIAGOFILADELFO.COM.BR | BUILDERS CODES Controle de versão
  • 8. Introdução ao Git / GitHub ● Conceituação ○ Git é um sistema de versionamento de documento; ○ GitHub é um serviço (gratuito e pago) cloud do git; ○ Existem uma série de vantagens de seu uso e a comunidade opensource contribuiu para que se tornasse popular; ● Histórico ○ CVS, SVN ○ Mercurial, Sourceface (Microsoft) ○ Git THIAGOFILADELFO.COM.BR | BUILDERS CODES
  • 9. Alinhados ? Então mão na massa !! ● Criar um projeto mkdir workshop_git cd workshop_git ● Iniciar o projeto com o git (shell ?) 1. > git init 2. > touch .gitignore 3. > git status 4. > git add . 5. > git commit -m "texto" 6. > git log THIAGOFILADELFO.COM.BR | BUILDERS CODES
  • 10. Aprofundando os conhecimentos (Git) ● git init Inicializa a criação de um repositório ● touch .gitignore Cria um arquivo de nome .gitignore; Esse arquivo são usados para indicar ao git quais pasta e/ou arquivos que não serão controlados. THIAGOFILADELFO.COM.BR | BUILDERS CODES
  • 11. ● git status Mostra a situação (estados) atual dos arquivos controlados. ● git add . ou git add <file> Adiciona os arquivos para compor o release de alterações. THIAGOFILADELFO.COM.BR | BUILDERS CODES
  • 12. ● git commit -m ¨texto¨ Consolida as alterações dos arquivos adicionados. ● git log Exibe todos o histórico de consolidações. THIAGOFILADELFO.COM.BR | BUILDERS CODES
  • 13. Fácil não ? Complicando um pouco !! ● Quero fazer alterações e deixar uma cópia executando, como fazer ? Ramificadores: são utilizados para desenvolver funcionalidades isoladas umas das outras. O branch(ramificador) master é o branch "padrão" quando você cria um repositório. ● git checkout -b <nome> Cria um branch com um determinado nome. Geralmente utilizamos a funcionalidade pela qual serão implementados as alterações. THIAGOFILADELFO.COM.BR | BUILDERS CODES
  • 14. Mexendo com as ramificações ● git checkout <nome> Seleciona um branch determinado ● git branch -d <nome> Remove um determinado branch. ● git merge <nome> Junta um branch ao outro branch. 1. > git checkout master 2. > git merge <branch> THIAGOFILADELFO.COM.BR | BUILDERS CODES
  • 15. Fiz besteira ? Eai, como volto? ● git checkout --<nome_arquivo> Restaura para a última alteração commitada realizada. 1. > git checkout --teste.java ● git diff <branch_1> <branch_2> ou git diff <file_1> <file_2> Realiza uma comparação de modificação dos arquivos ou dos branchs THIAGOFILADELFO.COM.BR | BUILDERS CODES
  • 16. Tudo bem ! Mas como faço um projeto ficar no cloud? ● git remote add origin <url> Adiciona a url de servidor remoto do git (GitHub /Bitbucket). ● git push origin master Envia as alterações realizadas para o servidor, podendo ser o master ou outro branch. ● git pull Recupera as alterações do servidor remoto. THIAGOFILADELFO.COM.BR | BUILDERS CODES Branch
  • 17. O comando pull não funcionou e agora? ● git fetch origin Remove todas as alterações locais. ● git reset --hard origin/master Força a recuperação da versão mais recente do servidor remoto Pode usar sempre ? Pessoalmente não é aconselhável !!! Pois pode perder o propósito do controle de versão. THIAGOFILADELFO.COM.BR | BUILDERS CODES
  • 18. Não gostei do GitHub ! Tem outro ? ● GitHub Beneficios: - Quantidades ilimitadas de projetos públicos e colaboradores para esse projeto Desvantagens - Projetos privados somente na conta paga. ● BitBucket Beneficios: - Quantidades ilimitadas de projetos privados e públicos. Desvantagens - Para os projetos privados número de colaboradores limitado (5) THIAGOFILADELFO.COM.BR | BUILDERS CODES
  • 19. thiago.filadelfo@gmail.com @trfiladelfo COMPANYNAME.COM | PRESENTATION Dúvidas ? Perguntas ? Iniciada a sessão de discussão !! Obrigado
  • 20. Referências ● http://rogerdudler.github.io/git- guide/index.pt_BR.html ● http://github.com/blog Força a recuperação da versão mais recente do servidor remoto Experts ? http://training.github.com