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

Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de SoftwareLeinylson Fontinele
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Metodologia agil scrum
Metodologia agil scrumMetodologia agil scrum
Metodologia agil scrumPablo Juan ஃ
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introduçãoelliando dias
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareÁlvaro Farias Pinheiro
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDevHélio Medeiros
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De SoftwareFelipe Goulart
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de MicroserviçosNorberto Enomoto
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoVinícius de Paula
 
Treinamento de Scrum
Treinamento de ScrumTreinamento de Scrum
Treinamento de ScrumLuiz Duarte
 
Modelo de Prototipação
Modelo de PrototipaçãoModelo de Prototipação
Modelo de PrototipaçãoJuliano Pires
 
Levantamento Ágil de Requisitos
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de RequisitosPaulo Furtado
 

Mais procurados (20)

clean code
clean codeclean code
clean code
 
Aprendendo Git
Aprendendo GitAprendendo Git
Aprendendo Git
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Metodologia agil scrum
Metodologia agil scrumMetodologia agil scrum
Metodologia agil scrum
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introdução
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de Software
 
Extreme programming (xp)
 Extreme programming   (xp) Extreme programming   (xp)
Extreme programming (xp)
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDev
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de Microserviços
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de Projeto
 
Treinamento de Scrum
Treinamento de ScrumTreinamento de Scrum
Treinamento de Scrum
 
Scrum
ScrumScrum
Scrum
 
Modelo de Prototipação
Modelo de PrototipaçãoModelo de Prototipação
Modelo de Prototipação
 
Levantamento Ágil de Requisitos
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de Requisitos
 

Semelhante a Introdução ao GitHub e Git

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 e GitHub
Git e GitHubGit e GitHub
Git e GitHub
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
Git
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
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
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
 

Mais de Igor Steinmacher

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 ...Igor Steinmacher
 
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...Igor Steinmacher
 
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...Igor Steinmacher
 
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...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 OSSIgor 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 projectsIgor Steinmacher
 
Presentation to IME-USP Research Group
Presentation to IME-USP Research GroupPresentation to IME-USP Research Group
Presentation to IME-USP Research GroupIgor Steinmacher
 
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? Igor Steinmacher
 
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...Igor Steinmacher
 
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...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

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
 
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
 
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
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasillucasp132400
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
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
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Simulado 2 Etapa - 2024 Proximo Passo.pdf
Simulado 2 Etapa  - 2024 Proximo Passo.pdfSimulado 2 Etapa  - 2024 Proximo Passo.pdf
Simulado 2 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 

Último (20)

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
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
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
 
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
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
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
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasil
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
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)
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Simulado 2 Etapa - 2024 Proximo Passo.pdf
Simulado 2 Etapa  - 2024 Proximo Passo.pdfSimulado 2 Etapa  - 2024 Proximo Passo.pdf
Simulado 2 Etapa - 2024 Proximo Passo.pdf
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 

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!