SlideShare uma empresa Scribd logo
Repositórios GitHub
Gerenciando projetos com Git
Daniel Destro do Carmo
Fevereiro 2018
Conteúdo
Git versus GitHub
Controle de Versão
Entendendo Git
• O que é e como funciona?
• Gerenciamento de branches
• Fluxo de trabalho
• Praticando o Git
Entendendo GitHub
• O que é e como funciona?
• Gerenciamento de repositórios
• Praticando o Git com GitHub
• Pull Request & Code Review
2
Git versus GitHub
Git e GitHub não são a mesma coisa
Eles trabalham em conjunto para gerenciar repositórios de código-fonte
Ambos ajudam no controle de versão do código-fonte do seu projeto
Basicamente:
3
Git é um software instalado no
computador do desenvolvedor
e/ou no servidor para gerenciar
as versões do código-fonte do
seu projeto.
GitHub é uma plataforma de
hospedagem de código-fonte
na nuvem (ou em um servidor
local) com controle de versão
usando o Git.
Controle de Versão
Sistemas de controle de versão de código-fonte de software:
– São ferramentas que ajudam os times de desenvolvimento a gerenciar
mudanças dos projetos.
– Mantém o registro de toda e qualquer modificação feita no código-fonte
em um repositório de código.
– Auxilia e acelera o desenvolvimento, permitindo comparar diferentes
versões do código-fonte, fazer uma junção delas e o gerenciamento de
possíveis conflitos.
– Permite acessar qualquer versão do código existente no passado.
– Ajuda prevenir e remediar erros cometidos por desenvolvedores no
código, possibilitando reverter as mudanças feitas.
4
Entendendo Git
5
Entendendo Git
O que é Git?
Git é um sistema de gerenciamento de código-fonte com controle de versão distribuído
Cada desenvolvedor mantém uma cópia do histórico de mudanças do repositório, tornando-o distribuído
Projetado e desenvolvido em 2005 por Linus Torvalds, o criador do kernel Linux
Software livre, distribuído sob os termos da versão 2 da GNU General Public License
Sistema de controle de versão de código-fonte mais utilizado no mundo
Website oficial: https://git-scm.com
Faça o download do Git e instale no seu computador de desenvolvimento
Windows: https://gitforwindows.org
Linux: https://git-scm.com/download/linux
6
Entendendo Git
Funcionamento Básico
O cenário ideal é seu projeto ter um servidor rodando Git atuando como um repositório central
Você pode instalar Git em um servidor próprio ou usar uma plataforma na nuvem (GitHub, BitBucket, etc)
Cada desenvolvedor do time precisa instalar Git no seu computador para gerenciar os fontes dos projetos
Preferencialmente, cada projeto é gerenciado em um repositório Git diferente
O desenvolvedor pode criar um novo repositório localmente ou “clonar” um existente no servidor Git
O repositório local do desenvolvedor deve estar conectado a um repositório remoto no servidor Git
Este repositório local é uma cópia do repositório remoto, que pode ser modificado e depois sincronizado
Git usa um sistema baseado em árvore e ramos (branch) para controlar diferentes versões do código-fonte
7
Entendendo Git
Gerenciamento de Branches
Geralmente o Git tem o código-fonte principal no branch chamado “master” (versão em produção)
O desenvolvedor criar um novo branch para cada funcionalidade nova ou mudança (bug / correção, etc)
Assim que terminar as alterações e estiver tudo pronto, pode integrar as mudanças para o ”master”
Você pode baixar (pull) as mudanças de um branch para atualizar seu respositório e evitar futuros conflitos
8
master
feature-1
Versão 1.0.0
feature-2
mastermaster
bug-fix-1
Versão 1.0.1 Versão 1.1.0
<< branch >>
<< branch >> << merge >>
<< merge >>
<< merge >>
master
feature-1
Versão 1.2.0
2
1
2
1
3
3
4
4
3
3
<< pull >>
Entendendo Git
Fluxo de Trabalho
Git trabalha com três estágios da versão local do código:
Working Directory (código atual) – onde altera o código de trabalho
Index (área temporária) – onde adiciona o código alterado (stage)
HEAD (última versão) – quando confirma as alterações feitas (commit)
Qualquer alteração no código local é efetivada apenas após a confirmação da mudança (commit)
As mudanças confirmadas localmente precisam ser enviadas para o servidor remote (push) posteriormente
Mudanças enviadas por outros desenvolvedores podem ser baixadas do servidor (pull) localmente
9
Entendendo Git
Fluxo de Trabalho
Fluxo básico de trabalho no Git:
– Altera o código no diretório de trabalho
– Adiciona as alterações na área temporária (add)
– Efetiva as alterações no repositório local (commit)
– Envia as alterações para o repositório remoto (push)
– Baixa as alterações feitas no repositório remote (pull)
– Acessa um branch do repositório local ou remoto (checkout)
– Integra as mudanças de outro branch para o atual (merge)
10
Git
Praticando o Git
11
Entendendo Git
Praticando o Git localmente
Configurações iniciais do ambiente Git:
Primeiro vamos configurar o ambiente Git
Abra uma tela de comando (prompt or bash)
Configure o ambiente com seu nome e e-mail:
git config --global user.name “Neymar Junior”
git config --global user.email neymar@gmail.com
Habilite cores:
git config --global color.ui auto
Verifique as configurações:
git config --list
12
Entendendo Git
Praticando o Git localmente
Crie seu primeiro repositório, alterações e commit:
Crie uma pasta (diretório) onde vai armazenar o código-fonte do seu projeto
Abra uma tela de comando (prompt or bash) na pasta criada
Inicie a pasta como um repositório Git (git init) – o branch master será criado
Crie um arquivo texto, altere seu conteúdo e salve-o (ex: “teste.txt”)
Adicione o arquivo alterado na área temporária (git add teste.txt)
Efetive a mudança de código criando um commit (git commit -m “primeiro teste”)
Liste o conteúdo da pasta e verá apenas um arquivo (teste.txt) – comando dir no Windows ou ls no Linux
Verifique o branch em que seu diretório de trabalho se encontra (git branch)
Veja o histórico de alterações do repositório (git log)
Este é o conteúdo atual do branch master do seu repositório local
13
Entendendo Git
Praticando o Git localmente
Gerenciando branches e novas alterações:
Crie um novo branch para uma nova alteração (git checkout -b novo_teste)
Altere o arquivo criado anteriormente e salve-o (ex: “teste.txt”)
Crie outro arquivo texto, altere seu conteúdo e salve-o (ex: “novo.txt”)
Adicione os arquivos alterados na área temporária (git add *)
Efetive a nova mudança de código (git commit -m “teste 2”)
Liste o conteúdo da pasta e verá dois arquivos (teste.txt e novo.txt)
Verifique o branch em que seu diretório de trabalho se encontra (git branch)
Veja o histórico de alterações do repositório (git log)
Mude para o branch master (git checkout master)
Liste o conteúdo da pasta e verá apenas um arquivo (teste.txt)
Agora seu repositório local tem dois branches com versões diferentes
14
Entendendo Git
Praticando o Git localmente
Integrando branches:
Suponha que queira integrar as alterações do branch novo_teste para o master
Mude para o branch master (git checkout master)
Liste o conteúdo da pasta e verá apenas um arquivo (teste.txt)
Integre o conteúdo do branch novo_test para o master (git merge novo_teste)
Liste o conteúdo da pasta e verá dois arquivos (teste.txt e novo.txt)
Verifique o branch em que seu diretório de trabalho se encontra (git branch)
Veja o histórico de alterações do repositório (git log)
Agora seu repositório local tem dois branches com versões iguais
15
Entendendo Git
Praticando o Git localmente
Removendo branches:
Suponha que queira remover o branch novo_teste pois já finalizou as alterações
Certifique-se de que não está no branch novo_teste (git branch)
Se estiver, mude para o branch master (git checkout master)
Liste os branches do seu repositório local (git branch)
Remove o branch novo_teste (git branch -d novo_teste)
Veja o histórico de alterações do repositório (git log)
Liste os branches do seu repositório local (git branch) – somente o master deve aparecer
Agora seu repositório local tem apenas o branch master
No entanto, as modificações feitas não se perderam, pois estão em master
16
Entendendo Git
Praticando o Git localmente
Visualizando o histórico dos branches:
Vamos brincar um pouco com os branches e visualizar seu histórico
Crie um novo branch e um arquivo (um.txt) e commit (git checkout -b novo1) (git add *) (git commit -m “um”)
Crie outro branch e outro arquivo (dois.txt) e commit (git checkout -b novo2) (git add *) (git commit -m “dois”)
Mude para o branch master e faça um merge do branch novo1 (git checkout master) (git merge novo1)
Crie um novo arquivo (tres.txt) e commit (git add tres.txt) (git commit -m “tres”)
Mude para o branch novo1, altere o arquivo um.txt e commit (git checkout novo1) (git commit -am “quatro”)
Mude para o branch novo2, altere o arquivo dois.txt e commit (git checkout novo2) (git commit -am “cinco”)
Abra a interface GitK para visualizar as alterações e todo o histórico (gitk)
17
Entendendo Git
Praticando o Git localmente
Criando etiquetas:
É possível etiquetar (tag) um commit para facilitar sua identificação futura
Mude para o branch desejado para criar a etiqueta (git checkout master)
Crie a etiqueta com um nome significativo (git tag versao-1)
A estiqueta criada aponta para aquela versão específica do código
Verifique todas as etiquetas existentes no repositório (git tag)
Crie um novo arquivo, salve-o e commit (git add *) (git commit -m “mais uma versao”)
Seu repositório agora está em uma versão diferente daquela da etiqueta criada
Mude o diretório de trabalho para a versão da etiqueta (git checkout versao-1)
Para retornar para a versão do branch master (git checkout master)
18
Entendendo GitHub
19
Entendendo GitHub
O que é GitHub?
GitHub é uma plataforma de hospedagem de código-fonte com controle de versão usando o Git.
Desenvolvedores e usuários cadastrados na plataforma contribuirem em projetos privados e/ou Open
Source de qualquer lugar do mundo.
São mais de 77 milhões de projetos gerenciados pela plataforma do GitHub.
GitHub Enterprise permite criar um ambiente GitHub em sua própria empresa e gerenciá-lo privadamente.
Resumidamente: GitHub atua como seu servidor Git onde você criar e armazena seu repositório remoto.
Website oficial: https://github.com
Entre no site e crie uma conta pessoal gratuitamente.
Baixe e instale o GitHub Desktop: https://desktop.github.com
20
Entendendo GitHub
Gerenciamento de Repositórios
Seu repositório (público ou privado) pode ser acessado por múltiplos usuários.
Usuários podem ter diferentes tipos de permissão de acesso (administração, escrita e leitura).
Você pode conectar seu repositório local com os repositórios remotos armazenados no GitHub.
21
Entendendo GitHub
Gerenciamento de Repositórios
Acesse o GitHub com sua conta pessoal para gerenciar seus repositórios (públicos) gratuitamente.
Crie um novo projeto (repositório), forneça um nome e uma breve descrição.
22
Seu repositório foi criado e agora tem acesso a ele.
Aqui pode ver os fontes, branches, commits, pull
requests, releases e todo seu histórico.
GitHub
Praticando o Git com GitHub
23
Entendendo GitHub
Praticando o Git com GitHub
Clonar um repositório do GitHub localmente e fazer alterações:
Na página do seu novo repositório, clique no botão “Clone or download”
Copie o endereço HTTPS do seu repositório que aparece na caixa de diálogo (ou use a opção SSH)
Abra uma tela de comando (prompt or bash) na pasta onde deseja criar o seu repositório local
Faça o clone do repositório remoto (git clone https://github.com/<usuario>/myrepo.git)
O Git vai criar uma pasta com o nome do seu repositório (myrepo), acesse ela via comando cd
Crie um arquivo texto, altere seu conteúdo, salve e adicione ao stage (ex: “teste.txt”) (git add teste.txt)
Efetive a mudança de código criando um commit (git commit -m “meu teste”)
Envie a mudança para o repositório remoto (git push origin master)
Veja o arquivo adicionado e o histórico de mudanças na página do repositório
24
Entendendo GitHub
Praticando o Git com GitHub
Trabalhando com um time de desenvolvedores:
Imagine que você trabalha com um time de desenvolvedores que alteram o mesmo projeto (repositório)
As modificações desses desenvolvedores são enviadas para o servidor do GitHub (repositório remoto)
Você precisa atualizar seu repositório local com as alterações efetivadas no repositório remoto
Simule uma alteração no arquivo criado. Vá na página do repositório, clique no arquivo desejado e altere-o
Baixe as atualizações para seu repositório local (git pull origin master)
Confira se o seu arquivo local foi alterado conforme alterado na página do GitHub
Quer praticar mais?
https://try.github.io/
25
Entendendo GitHub
Pull Request & Code Review
Pull Request permite o desenvolvedor comunicar ao seu time as alterações enviadas ao servidor GitHub
Todos podem fazer um Code Review (CR), ou seja, revisar as alterações feitas
No Code Review podem colaborar com comentários e sugestões, aprovar ou rejeitar as mudanças
Sempre crie um Pull Request (PR) para cada branch que pretende revisar e/ou integrar ao master
Na página do respositório crie um novo Pull Request
Selecione os branches que quer comparar no PR
Todo histórico de mudanças é exibido no Pull Request
O time pode revisar, colaborar e aprovar ou rejeitar o PR
Uma vez aprovado, o PR pode ser integrado (merge)
26
master
feature-1
Versão 1.0.0
master
Versão 1.1.0
branch
commits
Code
Review
Pull
Request
merge
Saiba mais:
https://help.github.com/articles/about-pull-requests/
Obrigado!
Daniel Destro do Carmo
27

Mais conteúdo relacionado

PPTX
Controle de versão com e git
PDF
Introdução ao GitHub e Git
PDF
Git e GitHub
ODP
Git - GitHub
PDF
Introdução ao Git
PDF
PPT
Git e GitHub - Conceitos Básicos
PPTX
Controle de versão com e git
Introdução ao GitHub e Git
Git e GitHub
Git - GitHub
Introdução ao Git
Git e GitHub - Conceitos Básicos

Mais procurados (20)

KEY
Git para quem vem do SVN
PPTX
PDF
Introdução ao Git - Semac 2016
PDF
GIT Básico
PDF
Aprendendo Git
PPTX
Git - Sistema Descentralizado de Controle de Versões
PDF
Minicurso GIT PET Computação
PDF
Controle de Versão Distribuído com Git básico
PDF
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
PDF
Aula 3 - Curso Git e Github - Webschool
PDF
Aula 2 - Curso Git e Github - Webschool
PDF
Git e Github para Iniciantes by Alysson Ajackson
PDF
Intervalo técnico Git/SVN
PDF
Git e Github - Comandos e conceitos básicos
PDF
Introducao ao Git
PDF
Git e GitHub: Versionamento de Código Fácil
PDF
Git e git hub para iniciantes
PPTX
O Fantástico Mundo de Git
PDF
Controle de versão com Git e BitBucket
Git para quem vem do SVN
Introdução ao Git - Semac 2016
GIT Básico
Aprendendo Git
Git - Sistema Descentralizado de Controle de Versões
Minicurso GIT PET Computação
Controle de Versão Distribuído com Git básico
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Aula 3 - Curso Git e Github - Webschool
Aula 2 - Curso Git e Github - Webschool
Git e Github para Iniciantes by Alysson Ajackson
Intervalo técnico Git/SVN
Git e Github - Comandos e conceitos básicos
Introducao ao Git
Git e GitHub: Versionamento de Código Fácil
Git e git hub para iniciantes
O Fantástico Mundo de Git
Controle de versão com Git e BitBucket
Anúncio

Semelhante a Gerenciando projetos com Git e GitHub (20)

PDF
GitHub_versao2024-githubGitHub_versao2024-github
PPTX
Git e github
PDF
Minicurso GIT 2022 - SENAC
PDF
Learn about Git - Git Tutorial
PDF
Apresentação de Git
PDF
Git workshop
PDF
Git 101
PDF
Minicurso GIT Completo (2022)
PDF
Aula de git luiza code - Slides git e github
PPTX
Desmistificando a ferramenta git
PDF
Github para colaboradores livres
PPTX
GIT - Hands-On
PDF
Controle de versão e colaboração com Git
PDF
GIT - Gerenciamento de Projeto e Versionamento Semântico
PDF
Oficina de Git EEDACT2015
PPTX
Primeiros passos - GIT
PPTX
Introdução ao git
PDF
Git presentation
GitHub_versao2024-githubGitHub_versao2024-github
Git e github
Minicurso GIT 2022 - SENAC
Learn about Git - Git Tutorial
Apresentação de Git
Git workshop
Git 101
Minicurso GIT Completo (2022)
Aula de git luiza code - Slides git e github
Desmistificando a ferramenta git
Github para colaboradores livres
GIT - Hands-On
Controle de versão e colaboração com Git
GIT - Gerenciamento de Projeto e Versionamento Semântico
Oficina de Git EEDACT2015
Primeiros passos - GIT
Introdução ao git
Git presentation
Anúncio

Último (19)

PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Aula 18 - Manipulacao De Arquivos python
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
COBITxITIL-Entenda as diferença em uso governança TI
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Aula04-Academia Heri- Tecnologia Geral 2025
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Apple Pippin Uma breve introdução. - David Glotz
Custos e liquidação no SAP Transportation Management, TM130 Col18
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Processos na gestão de transportes, TM100 Col18
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Aula 18 - Manipulacao De Arquivos python

Gerenciando projetos com Git e GitHub

  • 1. Repositórios GitHub Gerenciando projetos com Git Daniel Destro do Carmo Fevereiro 2018
  • 2. Conteúdo Git versus GitHub Controle de Versão Entendendo Git • O que é e como funciona? • Gerenciamento de branches • Fluxo de trabalho • Praticando o Git Entendendo GitHub • O que é e como funciona? • Gerenciamento de repositórios • Praticando o Git com GitHub • Pull Request & Code Review 2
  • 3. Git versus GitHub Git e GitHub não são a mesma coisa Eles trabalham em conjunto para gerenciar repositórios de código-fonte Ambos ajudam no controle de versão do código-fonte do seu projeto Basicamente: 3 Git é um software instalado no computador do desenvolvedor e/ou no servidor para gerenciar as versões do código-fonte do seu projeto. GitHub é uma plataforma de hospedagem de código-fonte na nuvem (ou em um servidor local) com controle de versão usando o Git.
  • 4. Controle de Versão Sistemas de controle de versão de código-fonte de software: – São ferramentas que ajudam os times de desenvolvimento a gerenciar mudanças dos projetos. – Mantém o registro de toda e qualquer modificação feita no código-fonte em um repositório de código. – Auxilia e acelera o desenvolvimento, permitindo comparar diferentes versões do código-fonte, fazer uma junção delas e o gerenciamento de possíveis conflitos. – Permite acessar qualquer versão do código existente no passado. – Ajuda prevenir e remediar erros cometidos por desenvolvedores no código, possibilitando reverter as mudanças feitas. 4
  • 6. Entendendo Git O que é Git? Git é um sistema de gerenciamento de código-fonte com controle de versão distribuído Cada desenvolvedor mantém uma cópia do histórico de mudanças do repositório, tornando-o distribuído Projetado e desenvolvido em 2005 por Linus Torvalds, o criador do kernel Linux Software livre, distribuído sob os termos da versão 2 da GNU General Public License Sistema de controle de versão de código-fonte mais utilizado no mundo Website oficial: https://git-scm.com Faça o download do Git e instale no seu computador de desenvolvimento Windows: https://gitforwindows.org Linux: https://git-scm.com/download/linux 6
  • 7. Entendendo Git Funcionamento Básico O cenário ideal é seu projeto ter um servidor rodando Git atuando como um repositório central Você pode instalar Git em um servidor próprio ou usar uma plataforma na nuvem (GitHub, BitBucket, etc) Cada desenvolvedor do time precisa instalar Git no seu computador para gerenciar os fontes dos projetos Preferencialmente, cada projeto é gerenciado em um repositório Git diferente O desenvolvedor pode criar um novo repositório localmente ou “clonar” um existente no servidor Git O repositório local do desenvolvedor deve estar conectado a um repositório remoto no servidor Git Este repositório local é uma cópia do repositório remoto, que pode ser modificado e depois sincronizado Git usa um sistema baseado em árvore e ramos (branch) para controlar diferentes versões do código-fonte 7
  • 8. Entendendo Git Gerenciamento de Branches Geralmente o Git tem o código-fonte principal no branch chamado “master” (versão em produção) O desenvolvedor criar um novo branch para cada funcionalidade nova ou mudança (bug / correção, etc) Assim que terminar as alterações e estiver tudo pronto, pode integrar as mudanças para o ”master” Você pode baixar (pull) as mudanças de um branch para atualizar seu respositório e evitar futuros conflitos 8 master feature-1 Versão 1.0.0 feature-2 mastermaster bug-fix-1 Versão 1.0.1 Versão 1.1.0 << branch >> << branch >> << merge >> << merge >> << merge >> master feature-1 Versão 1.2.0 2 1 2 1 3 3 4 4 3 3 << pull >>
  • 9. Entendendo Git Fluxo de Trabalho Git trabalha com três estágios da versão local do código: Working Directory (código atual) – onde altera o código de trabalho Index (área temporária) – onde adiciona o código alterado (stage) HEAD (última versão) – quando confirma as alterações feitas (commit) Qualquer alteração no código local é efetivada apenas após a confirmação da mudança (commit) As mudanças confirmadas localmente precisam ser enviadas para o servidor remote (push) posteriormente Mudanças enviadas por outros desenvolvedores podem ser baixadas do servidor (pull) localmente 9
  • 10. Entendendo Git Fluxo de Trabalho Fluxo básico de trabalho no Git: – Altera o código no diretório de trabalho – Adiciona as alterações na área temporária (add) – Efetiva as alterações no repositório local (commit) – Envia as alterações para o repositório remoto (push) – Baixa as alterações feitas no repositório remote (pull) – Acessa um branch do repositório local ou remoto (checkout) – Integra as mudanças de outro branch para o atual (merge) 10
  • 12. Entendendo Git Praticando o Git localmente Configurações iniciais do ambiente Git: Primeiro vamos configurar o ambiente Git Abra uma tela de comando (prompt or bash) Configure o ambiente com seu nome e e-mail: git config --global user.name “Neymar Junior” git config --global user.email neymar@gmail.com Habilite cores: git config --global color.ui auto Verifique as configurações: git config --list 12
  • 13. Entendendo Git Praticando o Git localmente Crie seu primeiro repositório, alterações e commit: Crie uma pasta (diretório) onde vai armazenar o código-fonte do seu projeto Abra uma tela de comando (prompt or bash) na pasta criada Inicie a pasta como um repositório Git (git init) – o branch master será criado Crie um arquivo texto, altere seu conteúdo e salve-o (ex: “teste.txt”) Adicione o arquivo alterado na área temporária (git add teste.txt) Efetive a mudança de código criando um commit (git commit -m “primeiro teste”) Liste o conteúdo da pasta e verá apenas um arquivo (teste.txt) – comando dir no Windows ou ls no Linux Verifique o branch em que seu diretório de trabalho se encontra (git branch) Veja o histórico de alterações do repositório (git log) Este é o conteúdo atual do branch master do seu repositório local 13
  • 14. Entendendo Git Praticando o Git localmente Gerenciando branches e novas alterações: Crie um novo branch para uma nova alteração (git checkout -b novo_teste) Altere o arquivo criado anteriormente e salve-o (ex: “teste.txt”) Crie outro arquivo texto, altere seu conteúdo e salve-o (ex: “novo.txt”) Adicione os arquivos alterados na área temporária (git add *) Efetive a nova mudança de código (git commit -m “teste 2”) Liste o conteúdo da pasta e verá dois arquivos (teste.txt e novo.txt) Verifique o branch em que seu diretório de trabalho se encontra (git branch) Veja o histórico de alterações do repositório (git log) Mude para o branch master (git checkout master) Liste o conteúdo da pasta e verá apenas um arquivo (teste.txt) Agora seu repositório local tem dois branches com versões diferentes 14
  • 15. Entendendo Git Praticando o Git localmente Integrando branches: Suponha que queira integrar as alterações do branch novo_teste para o master Mude para o branch master (git checkout master) Liste o conteúdo da pasta e verá apenas um arquivo (teste.txt) Integre o conteúdo do branch novo_test para o master (git merge novo_teste) Liste o conteúdo da pasta e verá dois arquivos (teste.txt e novo.txt) Verifique o branch em que seu diretório de trabalho se encontra (git branch) Veja o histórico de alterações do repositório (git log) Agora seu repositório local tem dois branches com versões iguais 15
  • 16. Entendendo Git Praticando o Git localmente Removendo branches: Suponha que queira remover o branch novo_teste pois já finalizou as alterações Certifique-se de que não está no branch novo_teste (git branch) Se estiver, mude para o branch master (git checkout master) Liste os branches do seu repositório local (git branch) Remove o branch novo_teste (git branch -d novo_teste) Veja o histórico de alterações do repositório (git log) Liste os branches do seu repositório local (git branch) – somente o master deve aparecer Agora seu repositório local tem apenas o branch master No entanto, as modificações feitas não se perderam, pois estão em master 16
  • 17. Entendendo Git Praticando o Git localmente Visualizando o histórico dos branches: Vamos brincar um pouco com os branches e visualizar seu histórico Crie um novo branch e um arquivo (um.txt) e commit (git checkout -b novo1) (git add *) (git commit -m “um”) Crie outro branch e outro arquivo (dois.txt) e commit (git checkout -b novo2) (git add *) (git commit -m “dois”) Mude para o branch master e faça um merge do branch novo1 (git checkout master) (git merge novo1) Crie um novo arquivo (tres.txt) e commit (git add tres.txt) (git commit -m “tres”) Mude para o branch novo1, altere o arquivo um.txt e commit (git checkout novo1) (git commit -am “quatro”) Mude para o branch novo2, altere o arquivo dois.txt e commit (git checkout novo2) (git commit -am “cinco”) Abra a interface GitK para visualizar as alterações e todo o histórico (gitk) 17
  • 18. Entendendo Git Praticando o Git localmente Criando etiquetas: É possível etiquetar (tag) um commit para facilitar sua identificação futura Mude para o branch desejado para criar a etiqueta (git checkout master) Crie a etiqueta com um nome significativo (git tag versao-1) A estiqueta criada aponta para aquela versão específica do código Verifique todas as etiquetas existentes no repositório (git tag) Crie um novo arquivo, salve-o e commit (git add *) (git commit -m “mais uma versao”) Seu repositório agora está em uma versão diferente daquela da etiqueta criada Mude o diretório de trabalho para a versão da etiqueta (git checkout versao-1) Para retornar para a versão do branch master (git checkout master) 18
  • 20. Entendendo GitHub O que é GitHub? GitHub é uma plataforma de hospedagem de código-fonte com controle de versão usando o Git. Desenvolvedores e usuários cadastrados na plataforma contribuirem em projetos privados e/ou Open Source de qualquer lugar do mundo. São mais de 77 milhões de projetos gerenciados pela plataforma do GitHub. GitHub Enterprise permite criar um ambiente GitHub em sua própria empresa e gerenciá-lo privadamente. Resumidamente: GitHub atua como seu servidor Git onde você criar e armazena seu repositório remoto. Website oficial: https://github.com Entre no site e crie uma conta pessoal gratuitamente. Baixe e instale o GitHub Desktop: https://desktop.github.com 20
  • 21. Entendendo GitHub Gerenciamento de Repositórios Seu repositório (público ou privado) pode ser acessado por múltiplos usuários. Usuários podem ter diferentes tipos de permissão de acesso (administração, escrita e leitura). Você pode conectar seu repositório local com os repositórios remotos armazenados no GitHub. 21
  • 22. Entendendo GitHub Gerenciamento de Repositórios Acesse o GitHub com sua conta pessoal para gerenciar seus repositórios (públicos) gratuitamente. Crie um novo projeto (repositório), forneça um nome e uma breve descrição. 22 Seu repositório foi criado e agora tem acesso a ele. Aqui pode ver os fontes, branches, commits, pull requests, releases e todo seu histórico.
  • 23. GitHub Praticando o Git com GitHub 23
  • 24. Entendendo GitHub Praticando o Git com GitHub Clonar um repositório do GitHub localmente e fazer alterações: Na página do seu novo repositório, clique no botão “Clone or download” Copie o endereço HTTPS do seu repositório que aparece na caixa de diálogo (ou use a opção SSH) Abra uma tela de comando (prompt or bash) na pasta onde deseja criar o seu repositório local Faça o clone do repositório remoto (git clone https://github.com/<usuario>/myrepo.git) O Git vai criar uma pasta com o nome do seu repositório (myrepo), acesse ela via comando cd Crie um arquivo texto, altere seu conteúdo, salve e adicione ao stage (ex: “teste.txt”) (git add teste.txt) Efetive a mudança de código criando um commit (git commit -m “meu teste”) Envie a mudança para o repositório remoto (git push origin master) Veja o arquivo adicionado e o histórico de mudanças na página do repositório 24
  • 25. Entendendo GitHub Praticando o Git com GitHub Trabalhando com um time de desenvolvedores: Imagine que você trabalha com um time de desenvolvedores que alteram o mesmo projeto (repositório) As modificações desses desenvolvedores são enviadas para o servidor do GitHub (repositório remoto) Você precisa atualizar seu repositório local com as alterações efetivadas no repositório remoto Simule uma alteração no arquivo criado. Vá na página do repositório, clique no arquivo desejado e altere-o Baixe as atualizações para seu repositório local (git pull origin master) Confira se o seu arquivo local foi alterado conforme alterado na página do GitHub Quer praticar mais? https://try.github.io/ 25
  • 26. Entendendo GitHub Pull Request & Code Review Pull Request permite o desenvolvedor comunicar ao seu time as alterações enviadas ao servidor GitHub Todos podem fazer um Code Review (CR), ou seja, revisar as alterações feitas No Code Review podem colaborar com comentários e sugestões, aprovar ou rejeitar as mudanças Sempre crie um Pull Request (PR) para cada branch que pretende revisar e/ou integrar ao master Na página do respositório crie um novo Pull Request Selecione os branches que quer comparar no PR Todo histórico de mudanças é exibido no Pull Request O time pode revisar, colaborar e aprovar ou rejeitar o PR Uma vez aprovado, o PR pode ser integrado (merge) 26 master feature-1 Versão 1.0.0 master Versão 1.1.0 branch commits Code Review Pull Request merge Saiba mais: https://help.github.com/articles/about-pull-requests/

Notas do Editor

  • #5: https://www.atlassian.com/git/tutorials/what-is-version-control
  • #7: https://www.atlassian.com/git/tutorials/what-is-git https://pt.wikipedia.org/wiki/Git https://pt.wikipedia.org/wiki/GitHub
  • #21: https://enterprise.github.com/home https://pt.wikipedia.org/wiki/GitHub
  • #27: https://help.github.com/articles/about-pull-requests/