SlideShare une entreprise Scribd logo
1  sur  70
Télécharger pour lire hors ligne
Introdução ao 
Bem vindos!
Quem é você?
Walmyr Carvalho 
@walmyrcarvalho
Instituto Infnet 
Desenvolvedor Android 
Hotel Urbano 
Professor de Desenvolvimento 
para Plataformas Mobile
O que vamos ver hoje?
• Introdução 
• Breve histórico de criação do git 
• Características 
• Comandos básicos e seus conceitos 
• Não gosta de Terminal? Apps com GUI! 
• Links úteis: Livros, cursos e material de estudo
Histórico
Quem criou o git?
Linus Torvalds 
Criador do kernel Linux 
Criou o Git em 2005
Porquê?
A criação do git começou durante o 
desenvolvimento do Linux, nenhum 
sistema de controle de versão tinha o 
desempenho ideal para lidar com o 
desenvolvimento não linear do projeto, 
com diversos desenvolvedores no 
mundo inteiro!
Por não encontrar nenhum outro 
sistema rápido, seguro e eficiente o 
suficiente para gerenciar um projeto 
grande como o Linux, Linus criou o 
próprio.
Características do git
• Sistema de controle distribuído 
• Menos suscetível a erros 
• Funcionamento offline 
• Projetos menores que o SVN 
• Área de preparo (staging) 
• Muito rápido! 
• Sistema de branches simples e eficiente
Instalação e comandos básicos
Antes de começar, é preciso instalar o git na sua 
máquina. Faça o download para o seu sistema 
operacional no link abaixo: 
git-scm.com/downloads
Criando um repositório
Ok, agora temos o git instalado! Para 
iniciar um repositório git no seu projeto, 
acesse a raiz da pasta do projeto e 
execute o comando: 
git init
Clonando um repositório
Caso você queira fazer uma cópia de um 
repositório local, execute o comando: 
git clone caminho/do/repositorio 
Se o projeto estiver em um repositório 
remoto, execute o comando: 
git clone 
usuario@server:/caminho/do/repositorio
Workflow do Git
Quando trabalhamos com git, temos em 
mãos três “árvores" de trabalho no nosso 
fluxo local de operações.
A primeira delas é o diretório de trabalho 
(também chamado de working tree), que é 
onde ficam os arquivos do seu projeto. 
WORKING
Quando você adiciona algum arquivo alterado (git 
add), você envia as suas alterações para o Index, que 
é como uma área de preparação (staging) das suas 
alterações. 
WORKING INDEX 
(Staging) 
add
E por fim, quando você confirma uma nova 
alteração (git commit), você envia ela para a 
área de HEAD, que é onde está a última 
confirmação que você fez. 
WORKING INDEX 
(Staging) HEAD 
add commit
Adicionando e commitando arquivos
Para adicionar novas alterações no Index, 
execute o comando: 
git add nome_do_arquivo 
Caso queira adicionar todas os arquivos 
alterados do seu repositório: 
git add *
O comando add é a primeira coisa que fazemos em 
um arquivo alterado, mas agora precisamos confirmar 
essa alteração. Para isso, usamos o comando abaixo: 
git commit -m “comentário" 
O commit é o que confirma a sua alteração e a 
envia para HEAD.
Enviando alterações
Agora que suas alterações já estão no HEAD, 
basta enviá-las para o seu repositório 
remoto. Para isso, execute o comando: 
git push origin master 
O master no caso é a sua branch atual, 
altere para a que desejar.
Caso você queira se conectar a um 
repositório remoto, basta adicioná-lo com 
o comando: 
git remote add origin local_do_servidor
O que é uma branch?
Uma branch (ramo ou galho, em inglês) é 
uma ramificação utilizada quando se 
deseja criar uma nova funcionalidade 
isolada de outras partes do projeto.
Por exemplo: Esse é o master, é a branch padrão 
de um projeto git. Durante o projeto vamos 
precisar criar novas funcionalidades para ele. 
master
Quando eu quero desenvolver uma nova 
funcionalidade, eu crio uma nova branch 
com o comando: 
git checkout -b nova_branch 
O comando acima é um atalho para 
executar dois comandos: 
git branch nova_branch 
git checkout nova_branch
Ou seja, o que você acabou de fazer foi criar uma 
branch paralela ao master, mas com sua própria 
timeline de alterações e commits, que deve ser 
mesclada ao master quando for concluída. 
nova_branch 
master
Ok, feita a nova funcionalidade, 
precisamos voltar para o master para 
mesclá-la com a nossa branch principal. 
Para isso, execute o comando: 
git checkout master 
Caso você queira deletar sua branch, 
utilize o comando: 
git branch -d nova_branch
Lembrando que uma branch não está 
automaticamente disponível para todos 
que tem acesso ao seu repositório, é 
preciso adicioná-la usando o comando: 
git push origin nova_branch
Ok, depois de criarmos uma branch nova e ter 
desenvolvido nossa nova funcionalidade, 
precisamos mesclá-la (merge) ao nosso master. 
nova_branch 
master 
merge
Mas antes de fazer o merge de uma nova 
branch ao master, precisamos atualizar o 
nosso repositório puxando possíveis 
novos commits do nosso repositório 
remoto. Para isso, utilize o comando: 
git pull
Agora sim, temos o nosso repositório 
atualizado, pronto para receber a nossa 
branch. Para fazer o merge dela ao nosso 
master, utilize o comando: 
git merge nova_branch
Lembrando que uma branch geralmente 
não vive por muito tempo, ao menos que a 
feature for muito grande. Nesses casos, o 
ideal é dividir a feature em branches 
menores.
Resolvendo conflitos
Infelizmente, durante o merge conflitos 
podem acontecer. É preciso editar os 
arquivos e resolvê-los manualmente. 
Existem diversas ferramentas gráficas 
que facilitam essa resolução de conflitos, 
comumente chamadas de merge tools ou 
diff tool.
Caso você queira ver a diferença entre 
arquivos de branches diferentes, basta 
executar o comando: 
git diff <branch_origem> <branch_destino>
Tags
Durante um projeto de software, é importante 
se criar tags para releases de lançamento. 
Para criar uma tag no git, usamos o comando: 
git tag 1.0.0 1b2e1d63ff 
O 1b2e1d63ff é composto pelos 10 
primeiros caracteres do id do commit que 
você quer referenciar na sua tag.
Você pode conseguir uma lista de ids de 
commits utilizando o comando: 
git log 
Ele lista todos os commits do projeto, 
como um histórico detalhado do que foi 
feito em cada um deles.
Links úteis
Serviços web
GitHub 
github.com
BitBucket 
bitbucket.com
GitLab 
Sistema similar ao git, porém open source 
www.gitlab.com
Aplicativos com GUI 
(Interface Gráfica)
GitHub 
(OS X / Windows) 
Gratuito! 
mac.github.com/ 
windows.github.com/
SourceTree 
(OS X / Windows) 
Gratuito! 
www.sourcetreeapp.com
Tower 
(OS X) 
US$ 60,00 :( 
www.git-tower.com
Git Cola 
(Linux) 
Gratuito e open source! 
git-cola.github.io/ 
RabbitVCS 
(Linux) 
Gratuito e open source! 
rabbitvcs.org/
Projetos usando git
Node GH 
nodegh.io 
GitHub no terminal, por Zeno Rocha
Hub 
Outro wrapper para GitHub no Terminal 
hub.github.com
Livros e cursos gratuitos
Git - Guia Prático 
por Roger Dudler, guia open source disponível em português, 
fonte principal de conteúdo da palestra! 
rogerdudler.github.io/git-guide
Git - Cheat Sheet 
por Roger Dudler, lista de comandos mais 
comuns para referência rápida, em inglês 
rogerdudler.github.io/git-guide/files/git_cheat_sheet.pdf
Pro Git 
Livro oficial do projeto Git, disponível em português 
git-scm.com/book/pt-br
Curso - Git Tower 
Livro, vídeos e treinamento 
www.git-tower.com/learn
Curso - Try Git | Code School 
Curso disponibilizado online gratuitamente, parceria do 
Code School com o GitHub. 
try.github.io
Dúvidas?
Eu ajudo, falem comigo! 
Twitter: @walmyrcarvalho 
Facebook: Walmyr Carvalho 
Google+: +WalmyrCarvalho
Obrigado! :)

Contenu connexe

Tendances

Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHubNicolás Tourné
 
Git - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesGit - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesLeandro Cavalcante
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDevHélio Medeiros
 
Workshop git para iniciantes
Workshop git para iniciantesWorkshop git para iniciantes
Workshop git para iniciantesPaula Santana
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to GitLukas Fittl
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notesglen_a_smith
 
Learning git
Learning gitLearning git
Learning gitSid Anand
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentationMack Hardy
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hubVenkat Malladi
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsLee Hanxue
 

Tendances (20)

Git and github 101
Git and github 101Git and github 101
Git and github 101
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
 
Git real slides
Git real slidesGit real slides
Git real slides
 
Git in 10 minutes
Git in 10 minutesGit in 10 minutes
Git in 10 minutes
 
git and github
git and githubgit and github
git and github
 
Introduction git
Introduction gitIntroduction git
Introduction git
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Git - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesGit - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de Versões
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDev
 
Workshop git para iniciantes
Workshop git para iniciantesWorkshop git para iniciantes
Workshop git para iniciantes
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Git 101 for Beginners
Git 101 for Beginners Git 101 for Beginners
Git 101 for Beginners
 
Git and git flow
Git and git flowGit and git flow
Git and git flow
 
Git training v10
Git training v10Git training v10
Git training v10
 
Learning git
Learning gitLearning git
Learning git
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentation
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
 

Similaire à Introdução ao Git - Comandos básicos e conceitos

Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET ComputaçãoBruno Orlandi
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJNathália Cruz de Oliveira
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJNathália Cruz de Oliveira
 
Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoFabricio Nogueira
 
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
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta gitDiogo Souza Machado
 
Intervalo técnico Git/SVN
Intervalo técnico Git/SVNIntervalo técnico Git/SVN
Intervalo técnico Git/SVNLuciano Lima
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao gitDiogo Gomes
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com GitRaphael Cruzeiro
 
Github para colaboradores livres
Github para colaboradores livresGithub para colaboradores livres
Github para colaboradores livresThiago Sciotta
 
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 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
 

Similaire à Introdução ao Git - Comandos básicos e conceitos (20)

Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET Computação
 
Git e github
Git e githubGit e github
Git e github
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJ
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJ
 
Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básico
 
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
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta git
 
Intervalo técnico Git/SVN
Intervalo técnico Git/SVNIntervalo técnico Git/SVN
Intervalo técnico Git/SVN
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao git
 
Introducao ao Git
Introducao ao GitIntroducao ao Git
Introducao ao Git
 
Gerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHubGerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHub
 
Git & GitHub for beginners
Git & GitHub for beginnersGit & GitHub for beginners
Git & GitHub for beginners
 
Git flow na prática
Git flow na práticaGit flow na prática
Git flow na prática
 
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
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
 
Git ao GitHub
Git ao GitHubGit ao GitHub
Git ao GitHub
 
Github para colaboradores livres
Github para colaboradores livresGithub para colaboradores livres
Github para colaboradores livres
 
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
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
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
 

Dernier

LEAN SIX SIGMA - Garantia da qualidade e segurança
LEAN SIX SIGMA - Garantia da qualidade e segurançaLEAN SIX SIGMA - Garantia da qualidade e segurança
LEAN SIX SIGMA - Garantia da qualidade e segurançaGuilhermeLucio9
 
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdfLivro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdfSamuel Ramos
 
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICADESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICAPabloVinicius40
 
Tecnólogo em Mecatrônica - Universidade Anhanguera
Tecnólogo em Mecatrônica - Universidade AnhangueraTecnólogo em Mecatrônica - Universidade Anhanguera
Tecnólogo em Mecatrônica - Universidade AnhangueraGuilhermeLucio9
 
Eletricista instalador - Senai Almirante Tamandaré
Eletricista instalador - Senai Almirante TamandaréEletricista instalador - Senai Almirante Tamandaré
Eletricista instalador - Senai Almirante TamandaréGuilhermeLucio9
 
Treinamento de NR06 Equipamento de Proteção Individual
Treinamento de NR06 Equipamento de Proteção IndividualTreinamento de NR06 Equipamento de Proteção Individual
Treinamento de NR06 Equipamento de Proteção Individualpablocastilho3
 
A Importância dos EPI's no trabalho e no dia a dia laboral
A Importância dos EPI's no trabalho e no dia a dia laboralA Importância dos EPI's no trabalho e no dia a dia laboral
A Importância dos EPI's no trabalho e no dia a dia laboralFranciscaArrudadaSil
 

Dernier (7)

LEAN SIX SIGMA - Garantia da qualidade e segurança
LEAN SIX SIGMA - Garantia da qualidade e segurançaLEAN SIX SIGMA - Garantia da qualidade e segurança
LEAN SIX SIGMA - Garantia da qualidade e segurança
 
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdfLivro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
 
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICADESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
 
Tecnólogo em Mecatrônica - Universidade Anhanguera
Tecnólogo em Mecatrônica - Universidade AnhangueraTecnólogo em Mecatrônica - Universidade Anhanguera
Tecnólogo em Mecatrônica - Universidade Anhanguera
 
Eletricista instalador - Senai Almirante Tamandaré
Eletricista instalador - Senai Almirante TamandaréEletricista instalador - Senai Almirante Tamandaré
Eletricista instalador - Senai Almirante Tamandaré
 
Treinamento de NR06 Equipamento de Proteção Individual
Treinamento de NR06 Equipamento de Proteção IndividualTreinamento de NR06 Equipamento de Proteção Individual
Treinamento de NR06 Equipamento de Proteção Individual
 
A Importância dos EPI's no trabalho e no dia a dia laboral
A Importância dos EPI's no trabalho e no dia a dia laboralA Importância dos EPI's no trabalho e no dia a dia laboral
A Importância dos EPI's no trabalho e no dia a dia laboral
 

Introdução ao Git - Comandos básicos e conceitos

  • 4. Instituto Infnet Desenvolvedor Android Hotel Urbano Professor de Desenvolvimento para Plataformas Mobile
  • 5. O que vamos ver hoje?
  • 6. • Introdução • Breve histórico de criação do git • Características • Comandos básicos e seus conceitos • Não gosta de Terminal? Apps com GUI! • Links úteis: Livros, cursos e material de estudo
  • 9. Linus Torvalds Criador do kernel Linux Criou o Git em 2005
  • 11. A criação do git começou durante o desenvolvimento do Linux, nenhum sistema de controle de versão tinha o desempenho ideal para lidar com o desenvolvimento não linear do projeto, com diversos desenvolvedores no mundo inteiro!
  • 12. Por não encontrar nenhum outro sistema rápido, seguro e eficiente o suficiente para gerenciar um projeto grande como o Linux, Linus criou o próprio.
  • 14. • Sistema de controle distribuído • Menos suscetível a erros • Funcionamento offline • Projetos menores que o SVN • Área de preparo (staging) • Muito rápido! • Sistema de branches simples e eficiente
  • 16. Antes de começar, é preciso instalar o git na sua máquina. Faça o download para o seu sistema operacional no link abaixo: git-scm.com/downloads
  • 18. Ok, agora temos o git instalado! Para iniciar um repositório git no seu projeto, acesse a raiz da pasta do projeto e execute o comando: git init
  • 20. Caso você queira fazer uma cópia de um repositório local, execute o comando: git clone caminho/do/repositorio Se o projeto estiver em um repositório remoto, execute o comando: git clone usuario@server:/caminho/do/repositorio
  • 22. Quando trabalhamos com git, temos em mãos três “árvores" de trabalho no nosso fluxo local de operações.
  • 23. A primeira delas é o diretório de trabalho (também chamado de working tree), que é onde ficam os arquivos do seu projeto. WORKING
  • 24. Quando você adiciona algum arquivo alterado (git add), você envia as suas alterações para o Index, que é como uma área de preparação (staging) das suas alterações. WORKING INDEX (Staging) add
  • 25. E por fim, quando você confirma uma nova alteração (git commit), você envia ela para a área de HEAD, que é onde está a última confirmação que você fez. WORKING INDEX (Staging) HEAD add commit
  • 27. Para adicionar novas alterações no Index, execute o comando: git add nome_do_arquivo Caso queira adicionar todas os arquivos alterados do seu repositório: git add *
  • 28. O comando add é a primeira coisa que fazemos em um arquivo alterado, mas agora precisamos confirmar essa alteração. Para isso, usamos o comando abaixo: git commit -m “comentário" O commit é o que confirma a sua alteração e a envia para HEAD.
  • 30. Agora que suas alterações já estão no HEAD, basta enviá-las para o seu repositório remoto. Para isso, execute o comando: git push origin master O master no caso é a sua branch atual, altere para a que desejar.
  • 31. Caso você queira se conectar a um repositório remoto, basta adicioná-lo com o comando: git remote add origin local_do_servidor
  • 32. O que é uma branch?
  • 33. Uma branch (ramo ou galho, em inglês) é uma ramificação utilizada quando se deseja criar uma nova funcionalidade isolada de outras partes do projeto.
  • 34. Por exemplo: Esse é o master, é a branch padrão de um projeto git. Durante o projeto vamos precisar criar novas funcionalidades para ele. master
  • 35. Quando eu quero desenvolver uma nova funcionalidade, eu crio uma nova branch com o comando: git checkout -b nova_branch O comando acima é um atalho para executar dois comandos: git branch nova_branch git checkout nova_branch
  • 36. Ou seja, o que você acabou de fazer foi criar uma branch paralela ao master, mas com sua própria timeline de alterações e commits, que deve ser mesclada ao master quando for concluída. nova_branch master
  • 37. Ok, feita a nova funcionalidade, precisamos voltar para o master para mesclá-la com a nossa branch principal. Para isso, execute o comando: git checkout master Caso você queira deletar sua branch, utilize o comando: git branch -d nova_branch
  • 38. Lembrando que uma branch não está automaticamente disponível para todos que tem acesso ao seu repositório, é preciso adicioná-la usando o comando: git push origin nova_branch
  • 39. Ok, depois de criarmos uma branch nova e ter desenvolvido nossa nova funcionalidade, precisamos mesclá-la (merge) ao nosso master. nova_branch master merge
  • 40. Mas antes de fazer o merge de uma nova branch ao master, precisamos atualizar o nosso repositório puxando possíveis novos commits do nosso repositório remoto. Para isso, utilize o comando: git pull
  • 41. Agora sim, temos o nosso repositório atualizado, pronto para receber a nossa branch. Para fazer o merge dela ao nosso master, utilize o comando: git merge nova_branch
  • 42. Lembrando que uma branch geralmente não vive por muito tempo, ao menos que a feature for muito grande. Nesses casos, o ideal é dividir a feature em branches menores.
  • 44. Infelizmente, durante o merge conflitos podem acontecer. É preciso editar os arquivos e resolvê-los manualmente. Existem diversas ferramentas gráficas que facilitam essa resolução de conflitos, comumente chamadas de merge tools ou diff tool.
  • 45. Caso você queira ver a diferença entre arquivos de branches diferentes, basta executar o comando: git diff <branch_origem> <branch_destino>
  • 46. Tags
  • 47. Durante um projeto de software, é importante se criar tags para releases de lançamento. Para criar uma tag no git, usamos o comando: git tag 1.0.0 1b2e1d63ff O 1b2e1d63ff é composto pelos 10 primeiros caracteres do id do commit que você quer referenciar na sua tag.
  • 48. Você pode conseguir uma lista de ids de commits utilizando o comando: git log Ele lista todos os commits do projeto, como um histórico detalhado do que foi feito em cada um deles.
  • 53. GitLab Sistema similar ao git, porém open source www.gitlab.com
  • 54. Aplicativos com GUI (Interface Gráfica)
  • 55. GitHub (OS X / Windows) Gratuito! mac.github.com/ windows.github.com/
  • 56. SourceTree (OS X / Windows) Gratuito! www.sourcetreeapp.com
  • 57. Tower (OS X) US$ 60,00 :( www.git-tower.com
  • 58. Git Cola (Linux) Gratuito e open source! git-cola.github.io/ RabbitVCS (Linux) Gratuito e open source! rabbitvcs.org/
  • 60. Node GH nodegh.io GitHub no terminal, por Zeno Rocha
  • 61. Hub Outro wrapper para GitHub no Terminal hub.github.com
  • 62. Livros e cursos gratuitos
  • 63. Git - Guia Prático por Roger Dudler, guia open source disponível em português, fonte principal de conteúdo da palestra! rogerdudler.github.io/git-guide
  • 64. Git - Cheat Sheet por Roger Dudler, lista de comandos mais comuns para referência rápida, em inglês rogerdudler.github.io/git-guide/files/git_cheat_sheet.pdf
  • 65. Pro Git Livro oficial do projeto Git, disponível em português git-scm.com/book/pt-br
  • 66. Curso - Git Tower Livro, vídeos e treinamento www.git-tower.com/learn
  • 67. Curso - Try Git | Code School Curso disponibilizado online gratuitamente, parceria do Code School com o GitHub. try.github.io
  • 69. Eu ajudo, falem comigo! Twitter: @walmyrcarvalho Facebook: Walmyr Carvalho Google+: +WalmyrCarvalho