SlideShare une entreprise Scribd logo
1  sur  68
Télécharger pour lire hors ligne
GIT


Palestrante: Flávio Gomes da Silva Lisboa
Viajando no
tempo com GIT:
   controle de
versão pra quem
 quer dormir em
       paz
 Palestrante: Flávio Gomes da Silva Lisboa
Duas questões...
Desfazer alterações...
… até tudo estar OK
Trabalho em equipe...
… é difícil
Como instalar o GIT

                                 Debian/Ubuntu
http://git-scm.com/downloads
                                 $ apt-get install git-core
                                 Fedora
                                 $ yum install git
                                 Gentoo
                                 $ emerge --ask --verbose dev-vcs/git
                                 Arch Linux
                                 $ pacman -S git
                                 FreeBSD
                                 $ cd /usr/ports/devel/git
                                 $ make install
                                 Solaris 11 Express
                                 $ pkg install developer/versioning/git
                                 OpenBSD
                                 $ pkg_add git
Como iniciar um controle de versão




$ git init
Como iniciar um controle de versão




                                     .git
Como iniciar um controle de versão


$ ls .git
branches        config
gitk.cache hooks info
objects      refs
COMMIT_EDITMSG description
HEAD        index logs
packed-refs
Como iniciar o servidor remoto


$ git init --bare
Como iniciar o servidor remoto


$ ls
branches config
description HEAD
hooks info objects
refs
Configurando dados para versionamento
Configurando dados para versionamento

$ git config –-global user.name “Majinbuu”
$ git config –-global user.email
“majinbuu@dragonballz.anime”
Como adicionar arquivos ao controle de versão


Adicionando um arquivo para o controle de versão.




$ git add file
Como adicionar arquivos ao controle de versão


Adicionando grupos de arquivo para o controle de versão.




$ git add prefix*extension
$ git add prefix*
$ git add *extension
Como adicionar arquivos ao controle de versão


Adicionando todos os arquivos de um diretório para o controle de
versão.




$ git add folder/*
Como adicionar arquivos ao controle de versão


Adicionando todos os arquivos de um diretório, incluindo os
subdiretórios, para o controle de versão.




$ git add folder/*
Como adicionar arquivos ao controle de versão


Adicionando todos os arquivos de todos os diretórios para o
controle de versão.




$ git add .
Como remover arquivos do controle de versão


Removendo um arquivo do controle de versão.




$ git rm file
Como remover arquivos do controle de versão


Removendo todos os arquivos de um diretório do controle de
versão.




$ git rm folder/*
Como remover arquivos do controle de versão


Removendo todos os arquivos de um diretório, incluindo seus
subdiretórios, do controle de versão.




$ git rm -r folder/*
Como fazer o versionamento local




$ git commit
$ git commit -a “comments”
Para ver as alterações




$ git log
Como fazer o versionamento remoto


Primeiro temos que conectar o repositório local com o remoto.
Vamos considerar que queremos conectar o branch master.



$ git remote add origin/master url
Como fazer o versionamento remoto


Para enviar os commits do branch local atual para o repositório
remoto.




$ git push
Como fazer o versionamento remoto


Para criar a imagem remota de um branch que só existe
localmente.




$ git push origin localbranch
Como fazer o versionamento remoto


 Para enviar os commits de um branch local para um outro branch
 do repositório remoto.



$ git push origin/master localbranch:remotebranch -f
Como clonar um repositório remoto




$ git clone url
Como atualizar o repositório local




$ git pull
Como atualizar o repositório local,
    reaplicando suas alterações




$ git rebase master
Criando um ramo
Como criar um ramo




$ git branch branchname
Como mudar para um ramo




$ git checkout branchname
Como saber quais ramos existem




$ git branch
Como remover um ramo




$ git branch -d branchname
Como fazer mesclagem




$ git merge otherbranch
Como mesclar mais de um ramo




$ git merge firstbranch
secondbranch
Como resolver mesclagens




                     Quem está certo?
Como resolver mesclagens




$ git merge branch -s ours
Como desfazer um commit


Eliminando-o como se nunca tivesse existido e descartando as
mudanças nos arquivos.




$ git reset commit
$ git checkout –- file
Ih! Esqueci aquele arquivo!


É possível alterar um commit, adicionado mudanças que foram
esquecidas, ou acertando erros percebidos somente após o
commit.



$ git commit -a “comments“
$ git add forgotten_file
$ git commit --amend
Ih! Esqueci aquele arquivo!


Isso também pode ser usado para revisão de commits, de modo
que o log só liste os commits definitivos.




$ git commit -a “comments“
$ git add reviewed_file
$ git commit --amend
Como desfazer um commit




    Dr. Alexander Hartdegen   Emma
Como desfazer um commit


git reset volta no tempo, literalmente, apagando do log os commits
anteriores ao commit referenciado.




$ git reset commit
$ git checkout –- file
Como desfazer um commit


Eliminando-o como se nunca tivesse existido e descartando as
mudanças nos arquivos.




              Dr. Alexander Hartdegen      Emma
Como desfazer um commit




                              Trotsky




            Trotsky




    Dr. Alexander Hartdegen             Emma
Como desfazer um commit




                              Nikolai Ivanovich Yezhov




    Dr. Alexander Hartdegen   Emma
Como desfazer um commit




http://home.hiwaay.net/~lkseitz/comics/rom/othermedia/disapp.shtml
Como desfazer um commit


       ROM                                 ROM
    BIOGRAFIA                           BIOGRAFIA
       NÃO                                 NÃO
   AUTORIZADA                          AUTORIZADA




    http://romocavaleirodoespaco.blogspot.com.br/



       ROM                                  ROM
    BIOGRAFIA                            BIOGRAFIA
       NÃO                                  NÃO
   AUTORIZADA                           AUTORIZADA
Não dá pra apagar todos os rastros...
Não dá pra apagar todos os rastros...




$ git rev-list --all --pretty=oneline
Mudando o mundo com um commit por vez
Como aplicar patches




$ git cherry-pick commit
Informações sobre o ramo atual
       (úteis em conflitos)




$ git status
Informações sobre tudo




$ git help command
Clientes gráficos
git gui (commit)
gitk (browsing)
Onde eu uso GIT




                                                 3
CRM & Groupware
 www.tine20.org
                          https://github.com/explivre
Obrigado




        http://www.fgsl.eti.br
http://www.temporealeventos.com.br
                 @fgsl

Contenu connexe

Tendances

Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errarBruno Calheira
 
Controle de Versões com Git
Controle de Versões com GitControle de Versões com Git
Controle de Versões com GitVagner Santana
 
Git that like a boss - Dos comandos básicos aos branches.
Git that like a boss - Dos comandos básicos aos branches.Git that like a boss - Dos comandos básicos aos branches.
Git that like a boss - Dos comandos básicos aos branches.Hélio Medeiros
 
Git that like a boss - Colaborando com GITHUB
Git that like a boss - Colaborando com GITHUBGit that like a boss - Colaborando com GITHUB
Git that like a boss - Colaborando com GITHUBHélio Medeiros
 
git --controle-de-versão-rápido
git --controle-de-versão-rápidogit --controle-de-versão-rápido
git --controle-de-versão-rápidoHélio Medeiros
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com GitRaphael Cruzeiro
 
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowControle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowLucas Araújo Mezêncio
 
Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos Jonathan Célio
 
Lançando versões em um clique - deploy contínuo
Lançando versões em um clique - deploy contínuoLançando versões em um clique - deploy contínuo
Lançando versões em um clique - deploy contínuoHélio Medeiros
 
Conhecendo o git.
Conhecendo o git.Conhecendo o git.
Conhecendo o git.Rafael Ivan
 
Git that like a boss: UFRGS
Git that like a boss: UFRGSGit that like a boss: UFRGS
Git that like a boss: UFRGSEvandro Eisinger
 

Tendances (20)

Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errar
 
Controle de Versões com Git
Controle de Versões com GitControle de Versões com Git
Controle de Versões com Git
 
Git e Github
Git e GithubGit e Github
Git e Github
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
 
Git that like a boss - Dos comandos básicos aos branches.
Git that like a boss - Dos comandos básicos aos branches.Git that like a boss - Dos comandos básicos aos branches.
Git that like a boss - Dos comandos básicos aos branches.
 
Git that like a boss - Colaborando com GITHUB
Git that like a boss - Colaborando com GITHUBGit that like a boss - Colaborando com GITHUB
Git that like a boss - Colaborando com GITHUB
 
git --controle-de-versão-rápido
git --controle-de-versão-rápidogit --controle-de-versão-rápido
git --controle-de-versão-rápido
 
Pythonbrew
PythonbrewPythonbrew
Pythonbrew
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
 
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowControle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
Git v2
Git v2Git v2
Git v2
 
Git Overview: Grupo RBS
Git Overview: Grupo RBSGit Overview: Grupo RBS
Git Overview: Grupo RBS
 
Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos
 
Git+github
Git+githubGit+github
Git+github
 
Lançando versões em um clique - deploy contínuo
Lançando versões em um clique - deploy contínuoLançando versões em um clique - deploy contínuo
Lançando versões em um clique - deploy contínuo
 
Aprendendo Git
Aprendendo GitAprendendo Git
Aprendendo Git
 
Conhecendo o git.
Conhecendo o git.Conhecendo o git.
Conhecendo o git.
 
Compilando o Android 5 para o Nexus 5
Compilando o Android 5 para o Nexus 5Compilando o Android 5 para o Nexus 5
Compilando o Android 5 para o Nexus 5
 
Git that like a boss: UFRGS
Git that like a boss: UFRGSGit that like a boss: UFRGS
Git that like a boss: UFRGS
 

En vedette

Technology Integration Report
Technology Integration ReportTechnology Integration Report
Technology Integration Reportguest875eee
 
BOMA Presentation 071509
BOMA Presentation 071509BOMA Presentation 071509
BOMA Presentation 071509Joe Harris
 
HCE Themed Attractions
HCE Themed AttractionsHCE Themed Attractions
HCE Themed AttractionsJoe Harris
 
Roger Fitz 2-1-2013 resume
Roger Fitz 2-1-2013 resumeRoger Fitz 2-1-2013 resume
Roger Fitz 2-1-2013 resumeRoger Fitz
 

En vedette (8)

Technology Integration Report
Technology Integration ReportTechnology Integration Report
Technology Integration Report
 
Presentation_NEW.PPTX
Presentation_NEW.PPTXPresentation_NEW.PPTX
Presentation_NEW.PPTX
 
Ilustration _ Draws
Ilustration _ DrawsIlustration _ Draws
Ilustration _ Draws
 
BOMA Presentation 071509
BOMA Presentation 071509BOMA Presentation 071509
BOMA Presentation 071509
 
HCE Resorts
HCE ResortsHCE Resorts
HCE Resorts
 
HCE Themed Attractions
HCE Themed AttractionsHCE Themed Attractions
HCE Themed Attractions
 
Sunum
SunumSunum
Sunum
 
Roger Fitz 2-1-2013 resume
Roger Fitz 2-1-2013 resumeRoger Fitz 2-1-2013 resume
Roger Fitz 2-1-2013 resume
 

Similaire à Viajando no Tempo com GIT: Controle de versão para quem quer dormir em paz

Git na prática - Minicurso III SEICOM
Git na prática - Minicurso III SEICOMGit na prática - Minicurso III SEICOM
Git na prática - Minicurso III SEICOMKenner Kliemann
 
Git - Rápido, seguro, eficiente
Git - Rápido, seguro, eficienteGit - Rápido, seguro, eficiente
Git - Rápido, seguro, eficienteWaldyr Felix
 
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
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACDanilo Pinotti
 
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
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareAldson Diego
 
Mini curso Git - 2º dia
Mini curso Git - 2º diaMini curso Git - 2º dia
Mini curso Git - 2º diaArmando Couto
 
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õesLeandro Cavalcante
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Danilo Pinotti
 
Git para Principiantes - Fabio Beneditto - Tchelinux Caxias 2018
Git para Principiantes -  Fabio Beneditto - Tchelinux Caxias 2018Git para Principiantes -  Fabio Beneditto - Tchelinux Caxias 2018
Git para Principiantes - Fabio Beneditto - Tchelinux Caxias 2018Tchelinux
 
Git para Principiantes - Fabio Beneditto - Tchelinux Bento Gonçalves 2017
Git para Principiantes - Fabio Beneditto - Tchelinux Bento Gonçalves 2017Git para Principiantes - Fabio Beneditto - Tchelinux Bento Gonçalves 2017
Git para Principiantes - Fabio Beneditto - Tchelinux Bento Gonçalves 2017Tchelinux
 

Similaire à Viajando no Tempo com GIT: Controle de versão para quem quer dormir em paz (20)

Git
GitGit
Git
 
Conhecendo o GIT
Conhecendo o GITConhecendo o GIT
Conhecendo o GIT
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao git
 
Git flow no projeto
Git flow no projetoGit flow no projeto
Git flow no projeto
 
Git - Não perca o que estava funcionando!
Git - Não perca o que estava funcionando!Git - Não perca o que estava funcionando!
Git - Não perca o que estava funcionando!
 
Git na prática - Minicurso III SEICOM
Git na prática - Minicurso III SEICOMGit na prática - Minicurso III SEICOM
Git na prática - Minicurso III SEICOM
 
Git - Rápido, seguro, eficiente
Git - Rápido, seguro, eficienteGit - Rápido, seguro, eficiente
Git - Rápido, seguro, eficiente
 
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
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Git
GitGit
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 do Zero - Campus Party #12
Git do Zero - Campus Party #12Git do Zero - Campus Party #12
Git do Zero - Campus Party #12
 
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
 
Git
GitGit
Git
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de Software
 
Mini curso Git - 2º dia
Mini curso Git - 2º diaMini curso Git - 2º dia
Mini curso Git - 2º dia
 
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
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
 
Git para Principiantes - Fabio Beneditto - Tchelinux Caxias 2018
Git para Principiantes -  Fabio Beneditto - Tchelinux Caxias 2018Git para Principiantes -  Fabio Beneditto - Tchelinux Caxias 2018
Git para Principiantes - Fabio Beneditto - Tchelinux Caxias 2018
 
Git para Principiantes - Fabio Beneditto - Tchelinux Bento Gonçalves 2017
Git para Principiantes - Fabio Beneditto - Tchelinux Bento Gonçalves 2017Git para Principiantes - Fabio Beneditto - Tchelinux Bento Gonçalves 2017
Git para Principiantes - Fabio Beneditto - Tchelinux Bento Gonçalves 2017
 

Plus de Flávio Lisboa

Criando testes integrados de APIs com PHP
Criando testes integrados de APIs com PHPCriando testes integrados de APIs com PHP
Criando testes integrados de APIs com PHPFlávio Lisboa
 
Cooperativas de Software Livre: Uma comparação entre Brasil e Argentina
Cooperativas de Software Livre: Uma comparação entre Brasil e ArgentinaCooperativas de Software Livre: Uma comparação entre Brasil e Argentina
Cooperativas de Software Livre: Uma comparação entre Brasil e ArgentinaFlávio Lisboa
 
Aprenda a afiar suas garras com Laminas
Aprenda a afiar suas garras com LaminasAprenda a afiar suas garras com Laminas
Aprenda a afiar suas garras com LaminasFlávio Lisboa
 
Ciência e software livre: desenvolvendo com método
Ciência e software livre: desenvolvendo com métodoCiência e software livre: desenvolvendo com método
Ciência e software livre: desenvolvendo com métodoFlávio Lisboa
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHPFlávio Lisboa
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework LaminasFlávio Lisboa
 
PHP Conference Brazil - What can we expect about framework Laminas?
PHP Conference Brazil - What can we expect about framework Laminas?PHP Conference Brazil - What can we expect about framework Laminas?
PHP Conference Brazil - What can we expect about framework Laminas?Flávio Lisboa
 
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019Flávio Lisboa
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHPFlávio Lisboa
 
Como se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoComo se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoFlávio Lisboa
 
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHPA demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHPFlávio Lisboa
 
Comunicação e padrões em código aberto: quando convergente e divergente cooperam
Comunicação e padrões em código aberto: quando convergente e divergente cooperamComunicação e padrões em código aberto: quando convergente e divergente cooperam
Comunicação e padrões em código aberto: quando convergente e divergente cooperamFlávio Lisboa
 
Criação de robôs em PHP para raspagem de dados
Criação de robôs em PHP para raspagem de dadosCriação de robôs em PHP para raspagem de dados
Criação de robôs em PHP para raspagem de dadosFlávio Lisboa
 
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de DadosEstudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de DadosFlávio Lisboa
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosFlávio Lisboa
 
Semeando Liberdade: Como (e onde) o software livre inclui as pessoas
Semeando Liberdade: Como (e onde) o software livre inclui as pessoasSemeando Liberdade: Como (e onde) o software livre inclui as pessoas
Semeando Liberdade: Como (e onde) o software livre inclui as pessoasFlávio Lisboa
 
O que é programação de computadores
O que é programação de computadoresO que é programação de computadores
O que é programação de computadoresFlávio Lisboa
 
Economia em rede (comunidade)
Economia em rede (comunidade)Economia em rede (comunidade)
Economia em rede (comunidade)Flávio Lisboa
 
Aplicações Corporativas em PHP (CRM e ERP)
Aplicações Corporativas em PHP (CRM e ERP)Aplicações Corporativas em PHP (CRM e ERP)
Aplicações Corporativas em PHP (CRM e ERP)Flávio Lisboa
 

Plus de Flávio Lisboa (20)

Criando testes integrados de APIs com PHP
Criando testes integrados de APIs com PHPCriando testes integrados de APIs com PHP
Criando testes integrados de APIs com PHP
 
Cooperativas de Software Livre: Uma comparação entre Brasil e Argentina
Cooperativas de Software Livre: Uma comparação entre Brasil e ArgentinaCooperativas de Software Livre: Uma comparação entre Brasil e Argentina
Cooperativas de Software Livre: Uma comparação entre Brasil e Argentina
 
Aprenda a afiar suas garras com Laminas
Aprenda a afiar suas garras com LaminasAprenda a afiar suas garras com Laminas
Aprenda a afiar suas garras com Laminas
 
Ciência e software livre: desenvolvendo com método
Ciência e software livre: desenvolvendo com métodoCiência e software livre: desenvolvendo com método
Ciência e software livre: desenvolvendo com método
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHP
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework Laminas
 
PHP Conference Brazil - What can we expect about framework Laminas?
PHP Conference Brazil - What can we expect about framework Laminas?PHP Conference Brazil - What can we expect about framework Laminas?
PHP Conference Brazil - What can we expect about framework Laminas?
 
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHP
 
Como se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoComo se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundo
 
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHPA demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
 
Comunicação e padrões em código aberto: quando convergente e divergente cooperam
Comunicação e padrões em código aberto: quando convergente e divergente cooperamComunicação e padrões em código aberto: quando convergente e divergente cooperam
Comunicação e padrões em código aberto: quando convergente e divergente cooperam
 
Criação de robôs em PHP para raspagem de dados
Criação de robôs em PHP para raspagem de dadosCriação de robôs em PHP para raspagem de dados
Criação de robôs em PHP para raspagem de dados
 
Amanhecer esmeralda
Amanhecer esmeraldaAmanhecer esmeralda
Amanhecer esmeralda
 
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de DadosEstudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviços
 
Semeando Liberdade: Como (e onde) o software livre inclui as pessoas
Semeando Liberdade: Como (e onde) o software livre inclui as pessoasSemeando Liberdade: Como (e onde) o software livre inclui as pessoas
Semeando Liberdade: Como (e onde) o software livre inclui as pessoas
 
O que é programação de computadores
O que é programação de computadoresO que é programação de computadores
O que é programação de computadores
 
Economia em rede (comunidade)
Economia em rede (comunidade)Economia em rede (comunidade)
Economia em rede (comunidade)
 
Aplicações Corporativas em PHP (CRM e ERP)
Aplicações Corporativas em PHP (CRM e ERP)Aplicações Corporativas em PHP (CRM e ERP)
Aplicações Corporativas em PHP (CRM e ERP)
 

Dernier

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 

Dernier (6)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

Viajando no Tempo com GIT: Controle de versão para quem quer dormir em paz

  • 1.
  • 3. Viajando no tempo com GIT: controle de versão pra quem quer dormir em paz Palestrante: Flávio Gomes da Silva Lisboa
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 11. … até tudo estar OK
  • 14. Como instalar o GIT Debian/Ubuntu http://git-scm.com/downloads $ apt-get install git-core Fedora $ yum install git Gentoo $ emerge --ask --verbose dev-vcs/git Arch Linux $ pacman -S git FreeBSD $ cd /usr/ports/devel/git $ make install Solaris 11 Express $ pkg install developer/versioning/git OpenBSD $ pkg_add git
  • 15. Como iniciar um controle de versão $ git init
  • 16. Como iniciar um controle de versão .git
  • 17. Como iniciar um controle de versão $ ls .git branches config gitk.cache hooks info objects refs COMMIT_EDITMSG description HEAD index logs packed-refs
  • 18. Como iniciar o servidor remoto $ git init --bare
  • 19. Como iniciar o servidor remoto $ ls branches config description HEAD hooks info objects refs
  • 20. Configurando dados para versionamento
  • 21. Configurando dados para versionamento $ git config –-global user.name “Majinbuu” $ git config –-global user.email “majinbuu@dragonballz.anime”
  • 22. Como adicionar arquivos ao controle de versão Adicionando um arquivo para o controle de versão. $ git add file
  • 23. Como adicionar arquivos ao controle de versão Adicionando grupos de arquivo para o controle de versão. $ git add prefix*extension $ git add prefix* $ git add *extension
  • 24. Como adicionar arquivos ao controle de versão Adicionando todos os arquivos de um diretório para o controle de versão. $ git add folder/*
  • 25. Como adicionar arquivos ao controle de versão Adicionando todos os arquivos de um diretório, incluindo os subdiretórios, para o controle de versão. $ git add folder/*
  • 26. Como adicionar arquivos ao controle de versão Adicionando todos os arquivos de todos os diretórios para o controle de versão. $ git add .
  • 27. Como remover arquivos do controle de versão Removendo um arquivo do controle de versão. $ git rm file
  • 28. Como remover arquivos do controle de versão Removendo todos os arquivos de um diretório do controle de versão. $ git rm folder/*
  • 29. Como remover arquivos do controle de versão Removendo todos os arquivos de um diretório, incluindo seus subdiretórios, do controle de versão. $ git rm -r folder/*
  • 30. Como fazer o versionamento local $ git commit $ git commit -a “comments”
  • 31. Para ver as alterações $ git log
  • 32. Como fazer o versionamento remoto Primeiro temos que conectar o repositório local com o remoto. Vamos considerar que queremos conectar o branch master. $ git remote add origin/master url
  • 33. Como fazer o versionamento remoto Para enviar os commits do branch local atual para o repositório remoto. $ git push
  • 34. Como fazer o versionamento remoto Para criar a imagem remota de um branch que só existe localmente. $ git push origin localbranch
  • 35. Como fazer o versionamento remoto Para enviar os commits de um branch local para um outro branch do repositório remoto. $ git push origin/master localbranch:remotebranch -f
  • 36. Como clonar um repositório remoto $ git clone url
  • 37. Como atualizar o repositório local $ git pull
  • 38. Como atualizar o repositório local, reaplicando suas alterações $ git rebase master
  • 40. Como criar um ramo $ git branch branchname
  • 41. Como mudar para um ramo $ git checkout branchname
  • 42. Como saber quais ramos existem $ git branch
  • 43. Como remover um ramo $ git branch -d branchname
  • 44. Como fazer mesclagem $ git merge otherbranch
  • 45. Como mesclar mais de um ramo $ git merge firstbranch secondbranch
  • 46. Como resolver mesclagens Quem está certo?
  • 47. Como resolver mesclagens $ git merge branch -s ours
  • 48. Como desfazer um commit Eliminando-o como se nunca tivesse existido e descartando as mudanças nos arquivos. $ git reset commit $ git checkout –- file
  • 49. Ih! Esqueci aquele arquivo! É possível alterar um commit, adicionado mudanças que foram esquecidas, ou acertando erros percebidos somente após o commit. $ git commit -a “comments“ $ git add forgotten_file $ git commit --amend
  • 50. Ih! Esqueci aquele arquivo! Isso também pode ser usado para revisão de commits, de modo que o log só liste os commits definitivos. $ git commit -a “comments“ $ git add reviewed_file $ git commit --amend
  • 51. Como desfazer um commit Dr. Alexander Hartdegen Emma
  • 52. Como desfazer um commit git reset volta no tempo, literalmente, apagando do log os commits anteriores ao commit referenciado. $ git reset commit $ git checkout –- file
  • 53. Como desfazer um commit Eliminando-o como se nunca tivesse existido e descartando as mudanças nos arquivos. Dr. Alexander Hartdegen Emma
  • 54. Como desfazer um commit Trotsky Trotsky Dr. Alexander Hartdegen Emma
  • 55. Como desfazer um commit Nikolai Ivanovich Yezhov Dr. Alexander Hartdegen Emma
  • 56. Como desfazer um commit http://home.hiwaay.net/~lkseitz/comics/rom/othermedia/disapp.shtml
  • 57. Como desfazer um commit ROM ROM BIOGRAFIA BIOGRAFIA NÃO NÃO AUTORIZADA AUTORIZADA http://romocavaleirodoespaco.blogspot.com.br/ ROM ROM BIOGRAFIA BIOGRAFIA NÃO NÃO AUTORIZADA AUTORIZADA
  • 58. Não dá pra apagar todos os rastros...
  • 59. Não dá pra apagar todos os rastros... $ git rev-list --all --pretty=oneline
  • 60. Mudando o mundo com um commit por vez
  • 61. Como aplicar patches $ git cherry-pick commit
  • 62. Informações sobre o ramo atual (úteis em conflitos) $ git status
  • 63. Informações sobre tudo $ git help command
  • 67. Onde eu uso GIT 3 CRM & Groupware www.tine20.org https://github.com/explivre
  • 68. Obrigado http://www.fgsl.eti.br http://www.temporealeventos.com.br @fgsl