SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler offline
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.
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
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

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Learning git
Learning gitLearning git
Learning git
 
Git and git flow
Git and git flowGit and git flow
Git and git flow
 
Git+github
Git+githubGit+github
Git+github
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Git & GitHub WorkShop
Git & GitHub WorkShopGit & GitHub WorkShop
Git & GitHub WorkShop
 
Git training v10
Git training v10Git training v10
Git training v10
 
Git in 10 minutes
Git in 10 minutesGit in 10 minutes
Git in 10 minutes
 
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
 
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
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
 
Basic Git Intro
Basic Git IntroBasic Git Intro
Basic Git Intro
 
Git
GitGit
Git
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
Git basic
Git basicGit basic
Git basic
 
Git Version Control System
Git Version Control SystemGit Version Control System
Git Version Control System
 

Destaque (7)

TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Android
AndroidAndroid
Android
 
EJB
EJBEJB
EJB
 
GDG Angular 2
GDG Angular 2GDG Angular 2
GDG Angular 2
 
Arquitetura de Software Na Pratica
Arquitetura de Software Na PraticaArquitetura de Software Na Pratica
Arquitetura de Software Na Pratica
 
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
 
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
 

Semelhante a Git e GitHub

Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET ComputaçãoBruno Orlandi
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com GitRaphael Cruzeiro
 
Conhecendo o git.
Conhecendo o git.Conhecendo o git.
Conhecendo o git.Rafael Ivan
 
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ácilTiago Antônio da Silva
 
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
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta gitDiogo 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 RBSEvandro 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 2019Tchelinux
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao gitDiogo Gomes
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao GitOto Junior
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareAldson Diego
 

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
 
Git & GitHub for beginners
Git & GitHub for beginnersGit & GitHub for beginners
Git & GitHub for beginners
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Git e github
Git e githubGit e github
Git e github
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
 
Conhecendo o git.
Conhecendo o git.Conhecendo o git.
Conhecendo o git.
 
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
 
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
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta git
 
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
 
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
 
GIT - Hands-On
GIT - Hands-On GIT - Hands-On
GIT - Hands-On
 
Gerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHubGerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHub
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao git
 
Git
GitGit
Git
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
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
 
Primeiros passos - GIT
Primeiros passos - GITPrimeiros passos - GIT
Primeiros passos - GIT
 
Git Overview: Grupo RBS
Git Overview: Grupo RBSGit Overview: Grupo RBS
Git Overview: Grupo RBS
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de Software
 

Último

trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptxLinoReisLino
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Nova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasNova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasraveccavp
 
Slide língua portuguesa português 8 ano.pptx
Slide língua portuguesa português 8 ano.pptxSlide língua portuguesa português 8 ano.pptx
Slide língua portuguesa português 8 ano.pptxssuserf54fa01
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 

Último (20)

trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
Nova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasNova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisas
 
Slide língua portuguesa português 8 ano.pptx
Slide língua portuguesa português 8 ano.pptxSlide língua portuguesa português 8 ano.pptx
Slide língua portuguesa português 8 ano.pptx
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 

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 git@github.com
  • 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.
  • 22.
  • 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
  • 43.
  • 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 ! leonardo.marcelino@gmail.com leonardo.marcelino@unifeob.edu.br https://twitter.com/leonardom https://www.facebook.com/leomarcelino