SlideShare uma empresa Scribd logo
GIT E GITHUB 
COLABORAÇÃO E ORGANIZAÇÃO EM SEUS PROJETOS
CONTROLE DE VERSÃO 
Hoje em dia com equipes grandes e distribuídas um projeto 
dificilmente sobrevive sem um controle de versões. 
! 
A finalidade de um sistema de controle de versões é 
gerenciar diferentes versões no desenvolvimento de 
qualquer documento. 
! 
Soluções livres: CVS, Mercurial, SVN e Git 
Soluções comerciais: SourceSafe, PVCS, ClearCase, etc
O QUE É O GIT? 
✓ Sistema de controle de versões distribuído com ênfase em 
velocidade 
✓ Inicialmente projetado e desenvolvido por Linus Torvalds 
para desenvolvimento do kernel do Linux 
✓ Cada diretório de trabalho do Git é um repositório com um 
histórico completo e habilidade total de acompanhamento 
das revisões, não dependendo de acesso a uma rede ou 
servidor central 
fonte: http://pt.wikipedia.org/wiki/Git
MOTIVOS PARA USAR GIT 
✓ Branches facilitados e independentes 
✓ Facilidade com merges 
✓ Rapidez 
✓ Distribuído 
✓ Ocupa menos espaço que um checkout SVN 
✓ Integração GitHub
O QUE É O GITHUB? 
O GitHub é uma rede social de desenvolvedores. Nela 
podemos criar repositórios (públicos e privados) para nossos 
projetos, seguir outros desenvolvedores, baixar projetos, 
modificar projetos, receber atualizações de modificações de 
projetos, etc
QUAL A RELAÇÃO DO GIT COM O GITHUB? 
Os dois se integram de forma bem simples. Podemos criar 
um repositório no GitHub e simplesmente “commitar" as 
alterações do nosso projeto usando o Git. 
! 
Como exemplo, podemos criar um projeto e torná-lo público 
no GitHub utilizando a ferramenta Git.
INSTALANDO O GIT 
No Linux basta abrir o terminal e digitar: 
sudo apt-get install git-core 
! 
No Windows devemos baixar a instalação através do link: 
http://msysgit.github.io/
CONFIGURANDO O GIT 
Após a instalação devemos configurar o Git executando os 
comandos: 
git config - -global user.name “Seu nome aqui” 
git config - -global user.email “Seu email aqui” 
! 
Para ver se deu tudo certo execute: 
git config - -global - - list
CRIANDO UMA CONTA NO GITHUB 
Vamos acessar o página do GitHub 
http://github.com
CRIANDO UM REPOSITÓRIO 
Na tela inicial do GitHub, clique em New Repository
CRIANDO UM REPOSITÓRIO 
Informe o nome do repositório e uma descrição sobre o 
projeto. Escolha também se esse repositório será publico ou 
privado.
CONFIGURANDO UMA CHAVE SSH 
Tendo cadastrado e logado em sua conta do GitHub, vamos 
agora configurar uma chave SSH para permitir enviar 
commits para nosso repositório remoto. 
! 
No terminal ou Git Bash digite: 
ssh-keygen -t rsa -C “seu email configura no github” 
! 
O comando acima vai criar um arquivo chamado id_rsa.pub. 
Vamos abrir esse arquivo em qualquer editor e copiar o seu 
conteúdo com CTRL+C
CONFIGURANDO UMA CHAVE SSH 
Agora no GitHub, vamos em “Settings” e depois em “SSH 
Keys”. Clique em “Add SSH Key” para adicionar uma nova 
chave. 
Informe um título para identificar seu computador e no 
campo “Key" cole todo o conteúdo copiado do arquivo 
id_rsa.pub. 
Para testar digite o comando 
abaixo no terminal: 
ssh -T git@github.com
CRIANDO PROJETO LOCAL 
No terminal vamos criar um diretório para nosso projeto e 
iniciar um repositório Git: 
! 
mkdir curso-git 
cd curso-git 
git init
PRIMEIRO COMMIT 
Vamos agora criar um arquivo e realizar o primeiro commit 
do nosso projeto: 
! 
touch README 
git commit -m “Commit inicial"
CONFIGURANDO REPOSITÓRIO REMOTO 
Agora vamos configurar nosso projeto para usar nosso 
repositório remoto do GitHub. No terminal digite o comando 
abaixo: 
! 
git remote add origin https://github.com/<seu login>/curso-git.git
ENVIANDO PARA GITHUB 
Para atualizar o GitHub com o que está no diretório local, 
digite o comando: 
! 
git push origin master
ÁREAS DE OPERAÇÃO 
São os locais onde os arquivos irão transitar enquanto estão 
sendo editados e modificados. 
! 
As áreas são: 
✦ Working Directory 
✦ Stage Area 
✦ Git Directory (.git)
GIT DIRECTORY 
O diretório .git é onde o Git guarda os dados e objetos do 
seu projeto. Ele é o diretório mais importante do Git e é ele 
que será copiado quando alguém clonar o projeto.
WORK DIRECTORY 
É onde você vai trabalhar. Os arquivos ficam ai para poderem 
ser usados e alterados quantas vezes for necessário. É 
basicamente a pasta do seu projeto
STAGING AREA 
Quando você faz uma alteração em um arquivo, ele vai para 
o Staging Area, que é uma área intermediária. 
! 
Basicamente o Staging Area contém o Git Directory com os 
arquivos modificados, onde ele guarda as informações sobre 
o que vai no seu próximo commit.
Git e GitHub
COMANDOS DO GIT
GIT ADD 
Este comando adiciona arquivos que serão controlados 
("versionados") pelo Git 
! 
Sintaxe: 
git add <nome do arquivo> 
! 
Normalmente controlamos TUDO que está no projeto. Para 
adicionar todos os arquivo usamos o comandos abaixo: 
git add . ou git add *
GIT STATUS 
Exibe o status do repositório. Vai exibir os novos arquivos 
adicionados e arquivos que foram modificados e estão no 
Staging Area 
! 
Sintaxe: 
git status 
!
GIT COMMIT 
Este comando realmente confirma as alterações realizadas e 
as envia para o repositório local mas não ainda para o 
repositório remoto 
! 
Sintaxe: 
git commit -m “comentários das alterações" 
!
GIT PUSH 
Este comando vai enviar as alterações do repositório local 
para o repositório remoto se um estiver configurado 
! 
Sintaxe: 
git push origin master 
!
GIT PULL 
Este comando vai atualizar nosso repositório local com todas 
as alterações que estão no repositório remoto. Ele vai obter e 
fazer o merge (mesclar) as alterações remotas. 
! 
Sintaxe: 
git pull origin master 
!
GIT LOG 
Com esse comando podemos visualizar log de alterações do 
nosso repositório. Ele exibe o nome, data e comentário de 
cada commit 
! 
Exemplo: 
git log 
!
GIT DIFF 
Podemos comparar a versão atual com a última versão 
"commitada" com o comando git diff. 
O sinal de “+" representa linhas adicionadas e o “-“ linhas 
removidas. 
! 
Exemplo: 
git diff 
!
GIT RESET 
Este comando nos permite remover arquivos que estão na 
Staging Area, evitando assim que as modificações desse 
arquivo sejam enviadas no commit. 
! 
Sintaxe: 
git reset HEAD <nome do arquivo> 
! 
Sintaxe: 
git reset HEAD index.html
GIT CHECKOUT 
No caso de termos feito algo errado, isto é, alterado um 
arquivo erroneamente. Podemos reverter as alterações locais 
usando o comando git checkout - - 
Esse comando vai recuperar a versão do último commit 
! 
Sintaxe: 
git checkout - - <nome do arquivo> 
! 
Exemplo: 
git checkout - - README
GIT FETCH E GIT RESET 
Para remover todas as alterações e commits locais e 
recuperar o histórico mais recente que está no servidor, 
usamos os comandos git fetch e git reset 
! 
Exemplo: 
git fetch origin 
git reset - -hard origin/master
CLONANDO REPOSITÓRIOS 
Quando queremos criar uma cópia local de trabalho de um 
repositório remoto, usamos o comando git clone 
! 
Sintaxe: 
git clone <caminho repositorio> 
! 
Exemplo: 
git clone http://github.com/c0de1/curso-git
RAMIFICANDO 
Branches (“ramos”) são utilizados para desenvolver 
funcionalidades isoladas umas das outras. O branch master é 
o branch “padrão”quando criamos um repositório. 
! 
Podemos usar outros branches para desenvolver mescla-os 
(merge) ao branch master após a conclusão.
CRIANDO UM NOVO BRANCH 
Para criar um novo branch usamos o comando git checkout 
passando a opção -b 
! 
Sintaxe: 
git checkout -b <nome do branch> 
! 
Exemplo: 
git checkout -b nova_funcionalidade
LISTANDO BRANCHES 
Para saber quais são os branches que existem em nosso 
repositório usamos o comando git branch. 
O branch que estiver com * no início é o branch atual 
! 
Exemplo: 
git branch
MUDANDO DE BRANCH 
Para mudar de um branch para outro, também utilizamos o 
comando checkout, mas apenas informando o nome do 
branch que desejamos ir. 
! 
Sintaxe: 
git checkout <nome do branch> 
! 
Exemplos: 
git checkout master 
git checkout nova_funcionalidade
BRANCHES SÃO LOCAIS 
Por padrão um branch sempre vai residir localmente e não 
estará disponível a outros a menos que nós enviamos esse 
branch para o repositório remoto. 
! 
Exemplo: 
git push origin nova_funcionalidade
MESCLANDO BRANCHES 
Uma vez que terminamos o desenvolvimento da nova 
funcionalidade em um branch separado, é hora de mesclá-lo 
com o branch padrão (master). 
Para isso devemos selecionar o branch padrão (master) e 
executar o comando git merge. 
! 
Sintaxe: 
git merge <nome do branch> 
! 
Exemplo: 
git checkout master 
git merge nova_funcionalidade
EXCLUINDO BRANCHES 
Após fazer o merge de um branch com o branch padrão 
(master) é comum excluirmos esse branch. Para isso usamos 
o comando git branch com a opção -d 
! 
Sintaxe: 
git branch -d <nome do branch> 
! 
Exemplo: 
git branch -d nova_funcionalidade
GITIGNORE 
Normalmente em projetos temos alguns arquivos que não 
são necessários serem mantidos no repositório por exemplo: 
! 
✦ Arquivos de logs 
✦ Arquivos .class em projetos Java 
✦ Arquivos de configurações contendo senhas 
✦ Etc 
! 
Para o Git ignorar esses arquivos automaticamente, podemos 
criar um arquivo chamado .gitignore na raiz do nosso projeto 
e dentro de arquivo informar quais padrões de arquivos 
serão ignorados
Git e GitHub
PRA SABER MAIS 
Usando Git com NetBeans IDE 
https://netbeans.org/kb/docs/ide/git_pt_BR.html 
! 
Usando Git no Eclipse 
http://jandersonantunes.blogspot.com.br/2013/09/git-no-eclipse- 
parte-i.html 
! 
Git Book 
http://git-scm.com/book
THANK YOU 
Prof. Leonardo Marcelino 
! 
leonardo.marcelino@gmail.com 
leonardo.marcelino@unifeob.edu.br 
https://twitter.com/leonardom 
https://www.facebook.com/leomarcelino
Anúncio

Mais conteúdo relacionado

Mais procurados (20)

Git real slides
Git real slidesGit real slides
Git real slides
Lucas Couto
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
Nicolás Tourné
 
Git
GitGit
Git
Gayan Kalanamith Mannapperuma
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentation
Mack Hardy
 
Git basics
Git basicsGit basics
Git basics
GHARSALLAH Mohamed
 
Git and github
Git and githubGit and github
Git and github
Sayantika Banik
 
Git Version Control System
Git Version Control SystemGit Version Control System
Git Version Control System
KMS Technology
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)
Noa Harel
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Rueful Robin
 
Github basics
Github basicsGithub basics
Github basics
Radoslav Georgiev
 
Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código Fácil
Tiago Antônio da Silva
 
Git Introduction Tutorial
Git Introduction TutorialGit Introduction Tutorial
Git Introduction Tutorial
Thomas Rausch
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
Lukas Fittl
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git Tutorial
Sage Sharp
 
Git n git hub
Git n git hubGit n git hub
Git n git hub
Jiwon Baek
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
Senthilkumar Gopal
 
Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHub
Vikram SV
 
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git
E Carter
 
Introduction git
Introduction gitIntroduction git
Introduction git
Dian Sigit Prastowo
 
GitLab.pptx
GitLab.pptxGitLab.pptx
GitLab.pptx
LeoulZewelde1
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
Nicolás Tourné
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentation
Mack Hardy
 
Git Version Control System
Git Version Control SystemGit Version Control System
Git Version Control System
KMS Technology
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)
Noa Harel
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Rueful Robin
 
Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código Fácil
Tiago Antônio da Silva
 
Git Introduction Tutorial
Git Introduction TutorialGit Introduction Tutorial
Git Introduction Tutorial
Thomas Rausch
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
Lukas Fittl
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git Tutorial
Sage Sharp
 
Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHub
Vikram SV
 
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git
E Carter
 

Destaque (7)

TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
Leonardo Marcelino
 
Android
AndroidAndroid
Android
Leonardo Marcelino
 
EJB
EJBEJB
EJB
Fábio Nogueira de Lucena
 
GDG Angular 2
GDG Angular 2GDG Angular 2
GDG Angular 2
Leonardo Marcelino
 
Arquitetura de Software Na Pratica
Arquitetura de Software Na PraticaArquitetura de Software Na Pratica
Arquitetura de Software Na Pratica
Alessandro Kieras
 
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
Elvis Rocha
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
Barry Feldman
 
Anúncio

Semelhante a Git e GitHub (20)

Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET Computação
Bruno Orlandi
 
Git & GitHub for beginners
Git & GitHub for beginnersGit & GitHub for beginners
Git & GitHub for beginners
Wendreo L. Fernandes
 
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
Leandro Cavalcante
 
Git e github
Git e githubGit e github
Git e github
Kevin Fernandes
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
Raphael Cruzeiro
 
Conhecendo o git.
Conhecendo o git.Conhecendo o git.
Conhecendo o git.
Rafael Ivan
 
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
Fabricio Nogueira
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta git
Diogo Souza Machado
 
Git that like a boss: Grupo RBS
Git that like a boss: Grupo RBSGit that like a boss: Grupo RBS
Git that like a boss: Grupo RBS
Evandro Eisinger
 
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Tchelinux
 
Aula de git luiza code - Slides git e github
Aula de git luiza code - Slides git e githubAula de git luiza code - Slides git e github
Aula de git luiza code - Slides git e github
LorrayneSilva26
 
GIT - Hands-On
GIT - Hands-On GIT - Hands-On
GIT - Hands-On
inovacaoDBServer
 
Gerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHubGerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHub
Daniel Destro Do Carmo
 
GitHub_versao2024-githubGitHub_versao2024-github
GitHub_versao2024-githubGitHub_versao2024-githubGitHub_versao2024-githubGitHub_versao2024-github
GitHub_versao2024-githubGitHub_versao2024-github
zJFBD
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao git
Diogo Gomes
 
Git
GitGit
Git
Andreza Pollyana
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
Oto Junior
 
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
Fernando Henrique Bonfim Moreno del Rio
 
Primeiros passos - GIT
Primeiros passos - GITPrimeiros passos - GIT
Primeiros passos - GIT
Stefan Horochovec
 
Git Overview: Grupo RBS
Git Overview: Grupo RBSGit Overview: Grupo RBS
Git Overview: Grupo RBS
Evandro Eisinger
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET Computação
Bruno Orlandi
 
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
Leandro Cavalcante
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
Raphael Cruzeiro
 
Conhecendo o git.
Conhecendo o git.Conhecendo o git.
Conhecendo o git.
Rafael Ivan
 
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
Fabricio Nogueira
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta git
Diogo Souza Machado
 
Git that like a boss: Grupo RBS
Git that like a boss: Grupo RBSGit that like a boss: Grupo RBS
Git that like a boss: Grupo RBS
Evandro Eisinger
 
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Tchelinux
 
Aula de git luiza code - Slides git e github
Aula de git luiza code - Slides git e githubAula de git luiza code - Slides git e github
Aula de git luiza code - Slides git e github
LorrayneSilva26
 
GitHub_versao2024-githubGitHub_versao2024-github
GitHub_versao2024-githubGitHub_versao2024-githubGitHub_versao2024-githubGitHub_versao2024-github
GitHub_versao2024-githubGitHub_versao2024-github
zJFBD
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao git
Diogo Gomes
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
Oto Junior
 
Anúncio

Último (20)

Aventuras com Amora e Mia
Aventuras com Amora e Mia Aventuras com Amora e Mia
Aventuras com Amora e Mia
m_momentoi
 
Salesforce Venha aprender Mulesoft Dia 07
Salesforce Venha aprender Mulesoft Dia 07Salesforce Venha aprender Mulesoft Dia 07
Salesforce Venha aprender Mulesoft Dia 07
Mauricio Alexandre Silva
 
Slides Lição 5, CG, André, um Modelo de Evangelismo e Serviço para o Reino de...
Slides Lição 5, CG, André, um Modelo de Evangelismo e Serviço para o Reino de...Slides Lição 5, CG, André, um Modelo de Evangelismo e Serviço para o Reino de...
Slides Lição 5, CG, André, um Modelo de Evangelismo e Serviço para o Reino de...
LuizHenriquedeAlmeid6
 
Introdução a zootecnia para curso de veterinaria .pptx
Introdução a zootecnia para curso de veterinaria .pptxIntrodução a zootecnia para curso de veterinaria .pptx
Introdução a zootecnia para curso de veterinaria .pptx
samaramedveterinaria
 
ciclo da água- 5 ano fundamental - ciências
ciclo da água- 5 ano fundamental - ciênciasciclo da água- 5 ano fundamental - ciências
ciclo da água- 5 ano fundamental - ciências
carla906446
 
EFEITOS E CONSEQUÊNCIAS DO PLÁGIO EM PROJETOS DE PESQUISA CIENTÍFICA, SHEILA ...
EFEITOS E CONSEQUÊNCIAS DO PLÁGIO EM PROJETOS DE PESQUISA CIENTÍFICA, SHEILA ...EFEITOS E CONSEQUÊNCIAS DO PLÁGIO EM PROJETOS DE PESQUISA CIENTÍFICA, SHEILA ...
EFEITOS E CONSEQUÊNCIAS DO PLÁGIO EM PROJETOS DE PESQUISA CIENTÍFICA, SHEILA ...
Sheila de Souza
 
Aula 04 - Sucessão Ecológica para 3º ano.pdf
Aula 04 - Sucessão Ecológica para 3º ano.pdfAula 04 - Sucessão Ecológica para 3º ano.pdf
Aula 04 - Sucessão Ecológica para 3º ano.pdf
Jefferson Izaías Oliveira Laurindo
 
Aula dos fenomenos-ondulatrios-delta.ppt
Aula dos fenomenos-ondulatrios-delta.pptAula dos fenomenos-ondulatrios-delta.ppt
Aula dos fenomenos-ondulatrios-delta.ppt
LinoReisLino
 
Aula 4 - Reino Protista - protozoários e algas.pdf
Aula 4 - Reino Protista - protozoários e algas.pdfAula 4 - Reino Protista - protozoários e algas.pdf
Aula 4 - Reino Protista - protozoários e algas.pdf
Jefferson Izaías Oliveira Laurindo
 
Questões IDECAN para concursos dos diversos níveis
Questões IDECAN para concursos dos diversos níveisQuestões IDECAN para concursos dos diversos níveis
Questões IDECAN para concursos dos diversos níveis
jjsp4
 
Sistema Imunologico.ppt resumo ne introdução
Sistema Imunologico.ppt resumo ne introduçãoSistema Imunologico.ppt resumo ne introdução
Sistema Imunologico.ppt resumo ne introdução
francianecardoso94
 
Limites e Continuidade de Funções Reais Multivariadas
Limites e Continuidade de Funções Reais MultivariadasLimites e Continuidade de Funções Reais Multivariadas
Limites e Continuidade de Funções Reais Multivariadas
Ricardo Saldanha de Morais
 
Tibi e Joca 2018 Livro escrito por surdos
Tibi e Joca 2018 Livro escrito por surdosTibi e Joca 2018 Livro escrito por surdos
Tibi e Joca 2018 Livro escrito por surdos
DanielleCandiota
 
HIDROSFERA ÁGUA NO PLANETA. ciencias para 6 ano fundamental
HIDROSFERA ÁGUA NO PLANETA. ciencias para 6 ano fundamentalHIDROSFERA ÁGUA NO PLANETA. ciencias para 6 ano fundamental
HIDROSFERA ÁGUA NO PLANETA. ciencias para 6 ano fundamental
ElaneMatos3
 
RESUMO METODOLOGIAS PEDAGOGICAS arquitetura
RESUMO METODOLOGIAS PEDAGOGICAS arquiteturaRESUMO METODOLOGIAS PEDAGOGICAS arquitetura
RESUMO METODOLOGIAS PEDAGOGICAS arquitetura
ThaisaCosaquevite1
 
cuidados diante do procedimento de aleitamento materno
cuidados diante do procedimento de aleitamento maternocuidados diante do procedimento de aleitamento materno
cuidados diante do procedimento de aleitamento materno
RenataNobreVarelaeSi
 
A_consciencia_fonologica_e_Competências_Específicas_Port_EB.pdf
A_consciencia_fonologica_e_Competências_Específicas_Port_EB.pdfA_consciencia_fonologica_e_Competências_Específicas_Port_EB.pdf
A_consciencia_fonologica_e_Competências_Específicas_Port_EB.pdf
minervinadias1
 
Loteria - Sólidos Geométricos.
Loteria - Sólidos Geométricos.Loteria - Sólidos Geométricos.
Loteria - Sólidos Geométricos.
Mary Alvarenga
 
068e841c33d74b15cff8bfbc5229e993f908923eb8735b9c0ed63e6feb05402c50f2d246cf720...
068e841c33d74b15cff8bfbc5229e993f908923eb8735b9c0ed63e6feb05402c50f2d246cf720...068e841c33d74b15cff8bfbc5229e993f908923eb8735b9c0ed63e6feb05402c50f2d246cf720...
068e841c33d74b15cff8bfbc5229e993f908923eb8735b9c0ed63e6feb05402c50f2d246cf720...
Colaborar Educacional
 
TIPOS DE ROCHAS - ígnea, sedimentar e metamórfica
TIPOS DE ROCHAS - ígnea, sedimentar e metamórficaTIPOS DE ROCHAS - ígnea, sedimentar e metamórfica
TIPOS DE ROCHAS - ígnea, sedimentar e metamórfica
Henrique Pontes
 
Aventuras com Amora e Mia
Aventuras com Amora e Mia Aventuras com Amora e Mia
Aventuras com Amora e Mia
m_momentoi
 
Slides Lição 5, CG, André, um Modelo de Evangelismo e Serviço para o Reino de...
Slides Lição 5, CG, André, um Modelo de Evangelismo e Serviço para o Reino de...Slides Lição 5, CG, André, um Modelo de Evangelismo e Serviço para o Reino de...
Slides Lição 5, CG, André, um Modelo de Evangelismo e Serviço para o Reino de...
LuizHenriquedeAlmeid6
 
Introdução a zootecnia para curso de veterinaria .pptx
Introdução a zootecnia para curso de veterinaria .pptxIntrodução a zootecnia para curso de veterinaria .pptx
Introdução a zootecnia para curso de veterinaria .pptx
samaramedveterinaria
 
ciclo da água- 5 ano fundamental - ciências
ciclo da água- 5 ano fundamental - ciênciasciclo da água- 5 ano fundamental - ciências
ciclo da água- 5 ano fundamental - ciências
carla906446
 
EFEITOS E CONSEQUÊNCIAS DO PLÁGIO EM PROJETOS DE PESQUISA CIENTÍFICA, SHEILA ...
EFEITOS E CONSEQUÊNCIAS DO PLÁGIO EM PROJETOS DE PESQUISA CIENTÍFICA, SHEILA ...EFEITOS E CONSEQUÊNCIAS DO PLÁGIO EM PROJETOS DE PESQUISA CIENTÍFICA, SHEILA ...
EFEITOS E CONSEQUÊNCIAS DO PLÁGIO EM PROJETOS DE PESQUISA CIENTÍFICA, SHEILA ...
Sheila de Souza
 
Aula dos fenomenos-ondulatrios-delta.ppt
Aula dos fenomenos-ondulatrios-delta.pptAula dos fenomenos-ondulatrios-delta.ppt
Aula dos fenomenos-ondulatrios-delta.ppt
LinoReisLino
 
Questões IDECAN para concursos dos diversos níveis
Questões IDECAN para concursos dos diversos níveisQuestões IDECAN para concursos dos diversos níveis
Questões IDECAN para concursos dos diversos níveis
jjsp4
 
Sistema Imunologico.ppt resumo ne introdução
Sistema Imunologico.ppt resumo ne introduçãoSistema Imunologico.ppt resumo ne introdução
Sistema Imunologico.ppt resumo ne introdução
francianecardoso94
 
Limites e Continuidade de Funções Reais Multivariadas
Limites e Continuidade de Funções Reais MultivariadasLimites e Continuidade de Funções Reais Multivariadas
Limites e Continuidade de Funções Reais Multivariadas
Ricardo Saldanha de Morais
 
Tibi e Joca 2018 Livro escrito por surdos
Tibi e Joca 2018 Livro escrito por surdosTibi e Joca 2018 Livro escrito por surdos
Tibi e Joca 2018 Livro escrito por surdos
DanielleCandiota
 
HIDROSFERA ÁGUA NO PLANETA. ciencias para 6 ano fundamental
HIDROSFERA ÁGUA NO PLANETA. ciencias para 6 ano fundamentalHIDROSFERA ÁGUA NO PLANETA. ciencias para 6 ano fundamental
HIDROSFERA ÁGUA NO PLANETA. ciencias para 6 ano fundamental
ElaneMatos3
 
RESUMO METODOLOGIAS PEDAGOGICAS arquitetura
RESUMO METODOLOGIAS PEDAGOGICAS arquiteturaRESUMO METODOLOGIAS PEDAGOGICAS arquitetura
RESUMO METODOLOGIAS PEDAGOGICAS arquitetura
ThaisaCosaquevite1
 
cuidados diante do procedimento de aleitamento materno
cuidados diante do procedimento de aleitamento maternocuidados diante do procedimento de aleitamento materno
cuidados diante do procedimento de aleitamento materno
RenataNobreVarelaeSi
 
A_consciencia_fonologica_e_Competências_Específicas_Port_EB.pdf
A_consciencia_fonologica_e_Competências_Específicas_Port_EB.pdfA_consciencia_fonologica_e_Competências_Específicas_Port_EB.pdf
A_consciencia_fonologica_e_Competências_Específicas_Port_EB.pdf
minervinadias1
 
Loteria - Sólidos Geométricos.
Loteria - Sólidos Geométricos.Loteria - Sólidos Geométricos.
Loteria - Sólidos Geométricos.
Mary Alvarenga
 
068e841c33d74b15cff8bfbc5229e993f908923eb8735b9c0ed63e6feb05402c50f2d246cf720...
068e841c33d74b15cff8bfbc5229e993f908923eb8735b9c0ed63e6feb05402c50f2d246cf720...068e841c33d74b15cff8bfbc5229e993f908923eb8735b9c0ed63e6feb05402c50f2d246cf720...
068e841c33d74b15cff8bfbc5229e993f908923eb8735b9c0ed63e6feb05402c50f2d246cf720...
Colaborar Educacional
 
TIPOS DE ROCHAS - ígnea, sedimentar e metamórfica
TIPOS DE ROCHAS - ígnea, sedimentar e metamórficaTIPOS DE ROCHAS - ígnea, sedimentar e metamórfica
TIPOS DE ROCHAS - ígnea, sedimentar e metamórfica
Henrique Pontes
 

Git e GitHub

  • 1. GIT E GITHUB COLABORAÇÃO E ORGANIZAÇÃO EM SEUS PROJETOS
  • 2. CONTROLE DE VERSÃO Hoje em dia com equipes grandes e distribuídas um projeto dificilmente sobrevive sem um controle de versões. ! A finalidade de um sistema de controle de versões é gerenciar diferentes versões no desenvolvimento de qualquer documento. ! Soluções livres: CVS, Mercurial, SVN e Git Soluções comerciais: SourceSafe, PVCS, ClearCase, etc
  • 3. O QUE É O GIT? ✓ Sistema de controle de versões distribuído com ênfase em velocidade ✓ Inicialmente projetado e desenvolvido por Linus Torvalds para desenvolvimento do kernel do Linux ✓ Cada diretório de trabalho do Git é um repositório com um histórico completo e habilidade total de acompanhamento das revisões, não dependendo de acesso a uma rede ou servidor central fonte: http://pt.wikipedia.org/wiki/Git
  • 4. MOTIVOS PARA USAR GIT ✓ Branches facilitados e independentes ✓ Facilidade com merges ✓ Rapidez ✓ Distribuído ✓ Ocupa menos espaço que um checkout SVN ✓ Integração GitHub
  • 5. O QUE É O GITHUB? O GitHub é uma rede social de desenvolvedores. Nela podemos criar repositórios (públicos e privados) para nossos projetos, seguir outros desenvolvedores, baixar projetos, modificar projetos, receber atualizações de modificações de projetos, etc
  • 6. QUAL A RELAÇÃO DO GIT COM O GITHUB? Os dois se integram de forma bem simples. Podemos criar um repositório no GitHub e simplesmente “commitar" as alterações do nosso projeto usando o Git. ! Como exemplo, podemos criar um projeto e torná-lo público no GitHub utilizando a ferramenta Git.
  • 7. INSTALANDO O GIT No Linux basta abrir o terminal e digitar: sudo apt-get install git-core ! No Windows devemos baixar a instalação através do link: http://msysgit.github.io/
  • 8. CONFIGURANDO O GIT Após a instalação devemos configurar o Git executando os comandos: git config - -global user.name “Seu nome aqui” git config - -global user.email “Seu email aqui” ! Para ver se deu tudo certo execute: git config - -global - - list
  • 9. CRIANDO UMA CONTA NO GITHUB Vamos acessar o página do GitHub http://github.com
  • 10. CRIANDO UM REPOSITÓRIO Na tela inicial do GitHub, clique em New Repository
  • 11. CRIANDO UM REPOSITÓRIO Informe o nome do repositório e uma descrição sobre o projeto. Escolha também se esse repositório será publico ou privado.
  • 12. CONFIGURANDO UMA CHAVE SSH Tendo cadastrado e logado em sua conta do GitHub, vamos agora configurar uma chave SSH para permitir enviar commits para nosso repositório remoto. ! No terminal ou Git Bash digite: ssh-keygen -t rsa -C “seu email configura no github” ! O comando acima vai criar um arquivo chamado id_rsa.pub. Vamos abrir esse arquivo em qualquer editor e copiar o seu conteúdo com CTRL+C
  • 13. CONFIGURANDO UMA CHAVE SSH Agora no GitHub, vamos em “Settings” e depois em “SSH Keys”. Clique em “Add SSH Key” para adicionar uma nova chave. Informe um título para identificar seu computador e no campo “Key" cole todo o conteúdo copiado do arquivo id_rsa.pub. Para testar digite o comando abaixo no terminal: ssh -T [email protected]
  • 14. CRIANDO PROJETO LOCAL No terminal vamos criar um diretório para nosso projeto e iniciar um repositório Git: ! mkdir curso-git cd curso-git git init
  • 15. PRIMEIRO COMMIT Vamos agora criar um arquivo e realizar o primeiro commit do nosso projeto: ! touch README git commit -m “Commit inicial"
  • 16. CONFIGURANDO REPOSITÓRIO REMOTO Agora vamos configurar nosso projeto para usar nosso repositório remoto do GitHub. No terminal digite o comando abaixo: ! git remote add origin https://github.com/<seu login>/curso-git.git
  • 17. ENVIANDO PARA GITHUB Para atualizar o GitHub com o que está no diretório local, digite o comando: ! git push origin master
  • 18. ÁREAS DE OPERAÇÃO São os locais onde os arquivos irão transitar enquanto estão sendo editados e modificados. ! As áreas são: ✦ Working Directory ✦ Stage Area ✦ Git Directory (.git)
  • 19. GIT DIRECTORY O diretório .git é onde o Git guarda os dados e objetos do seu projeto. Ele é o diretório mais importante do Git e é ele que será copiado quando alguém clonar o projeto.
  • 20. WORK DIRECTORY É onde você vai trabalhar. Os arquivos ficam ai para poderem ser usados e alterados quantas vezes for necessário. É basicamente a pasta do seu projeto
  • 21. STAGING AREA Quando você faz uma alteração em um arquivo, ele vai para o Staging Area, que é uma área intermediária. ! Basicamente o Staging Area contém o Git Directory com os arquivos modificados, onde ele guarda as informações sobre o que vai no seu próximo commit.
  • 24. GIT ADD Este comando adiciona arquivos que serão controlados ("versionados") pelo Git ! Sintaxe: git add <nome do arquivo> ! Normalmente controlamos TUDO que está no projeto. Para adicionar todos os arquivo usamos o comandos abaixo: git add . ou git add *
  • 25. GIT STATUS Exibe o status do repositório. Vai exibir os novos arquivos adicionados e arquivos que foram modificados e estão no Staging Area ! Sintaxe: git status !
  • 26. GIT COMMIT Este comando realmente confirma as alterações realizadas e as envia para o repositório local mas não ainda para o repositório remoto ! Sintaxe: git commit -m “comentários das alterações" !
  • 27. GIT PUSH Este comando vai enviar as alterações do repositório local para o repositório remoto se um estiver configurado ! Sintaxe: git push origin master !
  • 28. GIT PULL Este comando vai atualizar nosso repositório local com todas as alterações que estão no repositório remoto. Ele vai obter e fazer o merge (mesclar) as alterações remotas. ! Sintaxe: git pull origin master !
  • 29. GIT LOG Com esse comando podemos visualizar log de alterações do nosso repositório. Ele exibe o nome, data e comentário de cada commit ! Exemplo: git log !
  • 30. GIT DIFF Podemos comparar a versão atual com a última versão "commitada" com o comando git diff. O sinal de “+" representa linhas adicionadas e o “-“ linhas removidas. ! Exemplo: git diff !
  • 31. GIT RESET Este comando nos permite remover arquivos que estão na Staging Area, evitando assim que as modificações desse arquivo sejam enviadas no commit. ! Sintaxe: git reset HEAD <nome do arquivo> ! Sintaxe: git reset HEAD index.html
  • 32. GIT CHECKOUT No caso de termos feito algo errado, isto é, alterado um arquivo erroneamente. Podemos reverter as alterações locais usando o comando git checkout - - Esse comando vai recuperar a versão do último commit ! Sintaxe: git checkout - - <nome do arquivo> ! Exemplo: git checkout - - README
  • 33. GIT FETCH E GIT RESET Para remover todas as alterações e commits locais e recuperar o histórico mais recente que está no servidor, usamos os comandos git fetch e git reset ! Exemplo: git fetch origin git reset - -hard origin/master
  • 34. CLONANDO REPOSITÓRIOS Quando queremos criar uma cópia local de trabalho de um repositório remoto, usamos o comando git clone ! Sintaxe: git clone <caminho repositorio> ! Exemplo: git clone http://github.com/c0de1/curso-git
  • 35. RAMIFICANDO Branches (“ramos”) são utilizados para desenvolver funcionalidades isoladas umas das outras. O branch master é o branch “padrão”quando criamos um repositório. ! Podemos usar outros branches para desenvolver mescla-os (merge) ao branch master após a conclusão.
  • 36. CRIANDO UM NOVO BRANCH Para criar um novo branch usamos o comando git checkout passando a opção -b ! Sintaxe: git checkout -b <nome do branch> ! Exemplo: git checkout -b nova_funcionalidade
  • 37. LISTANDO BRANCHES Para saber quais são os branches que existem em nosso repositório usamos o comando git branch. O branch que estiver com * no início é o branch atual ! Exemplo: git branch
  • 38. MUDANDO DE BRANCH Para mudar de um branch para outro, também utilizamos o comando checkout, mas apenas informando o nome do branch que desejamos ir. ! Sintaxe: git checkout <nome do branch> ! Exemplos: git checkout master git checkout nova_funcionalidade
  • 39. BRANCHES SÃO LOCAIS Por padrão um branch sempre vai residir localmente e não estará disponível a outros a menos que nós enviamos esse branch para o repositório remoto. ! Exemplo: git push origin nova_funcionalidade
  • 40. MESCLANDO BRANCHES Uma vez que terminamos o desenvolvimento da nova funcionalidade em um branch separado, é hora de mesclá-lo com o branch padrão (master). Para isso devemos selecionar o branch padrão (master) e executar o comando git merge. ! Sintaxe: git merge <nome do branch> ! Exemplo: git checkout master git merge nova_funcionalidade
  • 41. EXCLUINDO BRANCHES Após fazer o merge de um branch com o branch padrão (master) é comum excluirmos esse branch. Para isso usamos o comando git branch com a opção -d ! Sintaxe: git branch -d <nome do branch> ! Exemplo: git branch -d nova_funcionalidade
  • 42. GITIGNORE Normalmente em projetos temos alguns arquivos que não são necessários serem mantidos no repositório por exemplo: ! ✦ Arquivos de logs ✦ Arquivos .class em projetos Java ✦ Arquivos de configurações contendo senhas ✦ Etc ! Para o Git ignorar esses arquivos automaticamente, podemos criar um arquivo chamado .gitignore na raiz do nosso projeto e dentro de arquivo informar quais padrões de arquivos serão ignorados
  • 44. PRA SABER MAIS Usando Git com NetBeans IDE https://netbeans.org/kb/docs/ide/git_pt_BR.html ! Usando Git no Eclipse http://jandersonantunes.blogspot.com.br/2013/09/git-no-eclipse- parte-i.html ! Git Book http://git-scm.com/book
  • 45. THANK YOU Prof. Leonardo Marcelino ! [email protected] [email protected] https://twitter.com/leonardom https://www.facebook.com/leomarcelino