SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
Gerência de Versão e Configuração
Problema
● Como desenvolver em equipe?
● Como compartilhar código e colaborar em um
conjunto de artefatos comum?
● E se eu
– precisar reverter uma alteração?
– quiser saber como uma função estava antes da
alteração?
Compartilhando código
Problemas...
Problemas...
Problemas...
Controle de Versão
Controle de Versão
Controle de Versão
Nosso foco
Quem oferece o serviço?
● Sua máquina?
● GitHub
● GitLab
● SourceForge.net
● BitBucket
● …
Git: Sistema de controle de versão
distribuído
Locais de Operação
● Espaço de trabalho
● Índice
● Repositório Local
● Repositório Remoto
Bora praticar?!?
● Teremos 2 momentos
● Momento 1
– Manipulação local com adições, commits,
branches, remoções, conflitos
● Momento 2
– Repositório remoto com pushes e pulls
Hands on!
● git config --global user.name “Igor Steinmacher”
● git config --global user.email “igorfs@utfpr.edu.br”
● Criar um diretório
● Entrar no diretório
● Transformar em um repositório git
– git init
Hands on!
● Temos um repositório!!!
● Vamos criar um arquivo no repositório
– touch teste.txt
● Verificando o status atual dos arquivos
– git status
● Precisamos adicionar o arquivo
– git add teste.txt
– git status
Hands on!
● Fazendo um 'commit' para o repositório local
– git commit -a -m “Commit: primeiro!”
● -a: todos os arquivos
● -m adicionar uma mensagem ao commit
● Vamos listar os últimos commits realizados
– git log
● Ou ver o que foi feito no último commit
– git show
Hands on!
● Mudem o arquivo teste.txt inserindo “Olá” na
primeira linha
● Verifiquem o status do repositório
● Commitem o arquivo
● E verifiquem o status novamente
Hands on: Branches
● Você pode criar ramos de seu repositório
● Todo o repositório tem um branch padrão chamado
master
● Listando os branches
– git branch
● E dá para criar outros branches
– git branch novo
● E para usar o branch novo
– git checkout novo
Hands on!
● Vamos alterar o arquivo teste.txt nesse branch
adicionando na segunda linha:
– Meu nome é Peter
● E vamos commitar as alterações nesse branch
– git commit -a -m “Saudacao do Peter no teste.txt”
● Vejam o conteúdo do arquivo
– cat teste.txt
● Mudem para o branch master
● Deem um cat teste.txt
Hands on!
● PROBLEMA!!! Eu alterei no meu branch de
trabalho...
– Meu master está desatualizado :(
● Precisamos fazer uma mesclagem das alterações
no master
– Mudamos para o branch master
– E fazemos a mesclagem
● git merge working
Hands on!
● Imaginem um problema maior!!!
– O arquivo já tinha sido alterado no branch master...
– Tentando fazer igualzinho:
Auto-merging teste.txt
CONFLICT (content): Merge conflict in teste.txt
Automatic merge failed; fix conflicts and then commit the result.
– cat teste.txt
Olá!
Meu nome é Peter
<<<<<<< HEAD
Eu moro em SP
=======
Eu moro lá
>>>>>>> working
Hands on!
● E agora?!?! Precisamos fazer o merge manual...
– Editar o arquivo
– E fazer um commit local
● Mas, e o outro branch?
– Está desatualizado!!!
– Atualizando
● git rebase master
Hands on: Repositórios Remotos
● Similar ao local, mas o repositório remoto está...
– Remoto
● Vamos utilizar o github nessa investida
– Criem suas contas
Hands on: Repositórios Remotos
● Para criar um clone (cópia de todo o projeto,
incluindo todos commits) devemos utilizar o
seguinte comando:
– git clone https://github.com/Usuario/Projeto
● Vamos clonar o repositório que eu criei, bem
bonitão
– https://github.com/igorsteinmacher/githandson.git
Hands on: Repositórios Remotos
● Entremos no diretório e vamos trabalhar
– cd githandson
– git branch -r //para ver os branches remotos
● Para manipular as coisas do repositório remoto:
– git pull //traz tudo e atualiza o repositório local
– git fetch //baixa os dados do repo remoto
– git push//manda coisas pro repo remoto
● git push <repo> :<branch> //remove branch do repo
remoto
● git push <repo> <branch>//envia um branch
específico para o repo
Hands on: Repositórios Remotos
● No github, em geral trabalhamos com o esquema
“fork + pull-request”
– Criação de uma cópia do projeto + envio das mudanças
de sua cópia para o projeto principal
● Para isso, vamos fazer um fork do meu projeto do github
– NA TELA!
Introdução ao GitHub  e Git
Introdução ao GitHub  e Git
Introdução ao GitHub  e Git
Introdução ao GitHub  e Git
Introdução ao GitHub  e Git
Introdução ao GitHub  e Git
Introdução ao GitHub  e Git
Introdução ao GitHub  e Git
Introdução ao GitHub  e Git
Introdução ao GitHub  e Git
Introdução ao GitHub  e Git

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Git+github
Git+githubGit+github
Git+github
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDev
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdf
 
Github basics
Github basicsGithub basics
Github basics
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
Git and git workflow best practice
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practice
 
Git basics
Git basicsGit basics
Git basics
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
 
Git 101 for Beginners
Git 101 for Beginners Git 101 for Beginners
Git 101 for Beginners
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
 
Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHub
 
Git & GitHub for Beginners
Git & GitHub for BeginnersGit & GitHub for Beginners
Git & GitHub for Beginners
 
Git real slides
Git real slidesGit real slides
Git real slides
 
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
 
Git basic
Git basicGit basic
Git basic
 

Semelhante a Introdução ao GitHub e Git

Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
Raphael Cruzeiro
 
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
 

Semelhante a Introdução ao GitHub e Git (20)

GIT - Hands-On
GIT - Hands-On GIT - Hands-On
GIT - Hands-On
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET Computação
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
Git
GitGit
Git
 
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
 
Gerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHubGerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHub
 
Git
GitGit
Git
 
Git 101
Git 101Git 101
Git 101
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
 
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
 
Oficina de Git EEDACT2015
Oficina de Git EEDACT2015Oficina de Git EEDACT2015
Oficina de Git EEDACT2015
 
Sendo um GIT master
Sendo um GIT masterSendo um GIT master
Sendo um GIT master
 
Primeiros passos - GIT
Primeiros passos - GITPrimeiros passos - GIT
Primeiros passos - GIT
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Git workshop
Git workshopGit workshop
Git workshop
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJ
 
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
 
Git e Gitlab para Iniciantes
Git e Gitlab para IniciantesGit e Gitlab para Iniciantes
Git e Gitlab para Iniciantes
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJ
 

Mais de Igor Steinmacher

OSS 2014 - Systematic Review on Barriers Faced by Newcomers to OSS
OSS 2014 - Systematic Review on Barriers Faced by Newcomers to OSSOSS 2014 - Systematic Review on Barriers Faced by Newcomers to OSS
OSS 2014 - Systematic Review on Barriers Faced by Newcomers to OSS
Igor Steinmacher
 
CHASE 2014 - The hard of newcomers to OSS projects
CHASE 2014 - The hard of newcomers to OSS projectsCHASE 2014 - The hard of newcomers to OSS projects
CHASE 2014 - The hard of newcomers to OSS projects
Igor Steinmacher
 

Mais de Igor Steinmacher (10)

Almost there a study on quasi contributors in open source software projects ...
Almost there  a study on quasi contributors in open source software projects ...Almost there  a study on quasi contributors in open source software projects ...
Almost there a study on quasi contributors in open source software projects ...
 
ICSE 2016 - Overcoming Open Source Project Entry Barriers with a Portal for N...
ICSE 2016 - Overcoming Open Source Project Entry Barriers with a Portal for N...ICSE 2016 - Overcoming Open Source Project Entry Barriers with a Portal for N...
ICSE 2016 - Overcoming Open Source Project Entry Barriers with a Portal for N...
 
Apresentaçao do Grupo de Pesquisa (Eng. Software e Sistemas Colaborativos) UT...
Apresentaçao do Grupo de Pesquisa (Eng. Software e Sistemas Colaborativos) UT...Apresentaçao do Grupo de Pesquisa (Eng. Software e Sistemas Colaborativos) UT...
Apresentaçao do Grupo de Pesquisa (Eng. Software e Sistemas Colaborativos) UT...
 
Barreiras à entrada de novatos em projetos de software livre - Forum Goiano d...
Barreiras à entrada de novatos em projetos de software livre - Forum Goiano d...Barreiras à entrada de novatos em projetos de software livre - Forum Goiano d...
Barreiras à entrada de novatos em projetos de software livre - Forum Goiano d...
 
OSS 2014 - Systematic Review on Barriers Faced by Newcomers to OSS
OSS 2014 - Systematic Review on Barriers Faced by Newcomers to OSSOSS 2014 - Systematic Review on Barriers Faced by Newcomers to OSS
OSS 2014 - Systematic Review on Barriers Faced by Newcomers to OSS
 
CHASE 2014 - The hard of newcomers to OSS projects
CHASE 2014 - The hard of newcomers to OSS projectsCHASE 2014 - The hard of newcomers to OSS projects
CHASE 2014 - The hard of newcomers to OSS projects
 
Presentation to IME-USP Research Group
Presentation to IME-USP Research GroupPresentation to IME-USP Research Group
Presentation to IME-USP Research Group
 
Why do newcomers abandon open source software projects?
Why do newcomers abandon open source software projects? Why do newcomers abandon open source software projects?
Why do newcomers abandon open source software projects?
 
Análise da Desistência de Novatos em Projetos de Software Livre: Caso do Proj...
Análise da Desistência de Novatos em Projetos de Software Livre: Caso do Proj...Análise da Desistência de Novatos em Projetos de Software Livre: Caso do Proj...
Análise da Desistência de Novatos em Projetos de Software Livre: Caso do Proj...
 
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...
 

Último

A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 

Último (20)

Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUAO PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.ppt
 

Introdução ao GitHub e Git

  • 1. Gerência de Versão e Configuração
  • 2. Problema ● Como desenvolver em equipe? ● Como compartilhar código e colaborar em um conjunto de artefatos comum? ● E se eu – precisar reverter uma alteração? – quiser saber como uma função estava antes da alteração?
  • 11. Quem oferece o serviço? ● Sua máquina? ● GitHub ● GitLab ● SourceForge.net ● BitBucket ● …
  • 12. Git: Sistema de controle de versão distribuído
  • 13. Locais de Operação ● Espaço de trabalho ● Índice ● Repositório Local ● Repositório Remoto
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. Bora praticar?!? ● Teremos 2 momentos ● Momento 1 – Manipulação local com adições, commits, branches, remoções, conflitos ● Momento 2 – Repositório remoto com pushes e pulls
  • 24. Hands on! ● git config --global user.name “Igor Steinmacher” ● git config --global user.email “igorfs@utfpr.edu.br” ● Criar um diretório ● Entrar no diretório ● Transformar em um repositório git – git init
  • 25. Hands on! ● Temos um repositório!!! ● Vamos criar um arquivo no repositório – touch teste.txt ● Verificando o status atual dos arquivos – git status ● Precisamos adicionar o arquivo – git add teste.txt – git status
  • 26. Hands on! ● Fazendo um 'commit' para o repositório local – git commit -a -m “Commit: primeiro!” ● -a: todos os arquivos ● -m adicionar uma mensagem ao commit ● Vamos listar os últimos commits realizados – git log ● Ou ver o que foi feito no último commit – git show
  • 27. Hands on! ● Mudem o arquivo teste.txt inserindo “Olá” na primeira linha ● Verifiquem o status do repositório ● Commitem o arquivo ● E verifiquem o status novamente
  • 28. Hands on: Branches ● Você pode criar ramos de seu repositório ● Todo o repositório tem um branch padrão chamado master ● Listando os branches – git branch ● E dá para criar outros branches – git branch novo ● E para usar o branch novo – git checkout novo
  • 29. Hands on! ● Vamos alterar o arquivo teste.txt nesse branch adicionando na segunda linha: – Meu nome é Peter ● E vamos commitar as alterações nesse branch – git commit -a -m “Saudacao do Peter no teste.txt” ● Vejam o conteúdo do arquivo – cat teste.txt ● Mudem para o branch master ● Deem um cat teste.txt
  • 30. Hands on! ● PROBLEMA!!! Eu alterei no meu branch de trabalho... – Meu master está desatualizado :( ● Precisamos fazer uma mesclagem das alterações no master – Mudamos para o branch master – E fazemos a mesclagem ● git merge working
  • 31. Hands on! ● Imaginem um problema maior!!! – O arquivo já tinha sido alterado no branch master... – Tentando fazer igualzinho: Auto-merging teste.txt CONFLICT (content): Merge conflict in teste.txt Automatic merge failed; fix conflicts and then commit the result. – cat teste.txt Olá! Meu nome é Peter <<<<<<< HEAD Eu moro em SP ======= Eu moro lá >>>>>>> working
  • 32. Hands on! ● E agora?!?! Precisamos fazer o merge manual... – Editar o arquivo – E fazer um commit local ● Mas, e o outro branch? – Está desatualizado!!! – Atualizando ● git rebase master
  • 33. Hands on: Repositórios Remotos ● Similar ao local, mas o repositório remoto está... – Remoto ● Vamos utilizar o github nessa investida – Criem suas contas
  • 34. Hands on: Repositórios Remotos ● Para criar um clone (cópia de todo o projeto, incluindo todos commits) devemos utilizar o seguinte comando: – git clone https://github.com/Usuario/Projeto ● Vamos clonar o repositório que eu criei, bem bonitão – https://github.com/igorsteinmacher/githandson.git
  • 35. Hands on: Repositórios Remotos ● Entremos no diretório e vamos trabalhar – cd githandson – git branch -r //para ver os branches remotos ● Para manipular as coisas do repositório remoto: – git pull //traz tudo e atualiza o repositório local – git fetch //baixa os dados do repo remoto – git push//manda coisas pro repo remoto ● git push <repo> :<branch> //remove branch do repo remoto ● git push <repo> <branch>//envia um branch específico para o repo
  • 36. Hands on: Repositórios Remotos ● No github, em geral trabalhamos com o esquema “fork + pull-request” – Criação de uma cópia do projeto + envio das mudanças de sua cópia para o projeto principal ● Para isso, vamos fazer um fork do meu projeto do github – NA TELA!