SlideShare a Scribd company logo
1 of 75
Download to read offline
git



                                    1
quinta-feira, 19 de maio de 2011
git is...

                        “Git is a free & open source,
                        distributed version control system
                        designed to handle everything from small to
                        very large projects with speed and efficiency.”




                                             2
quinta-feira, 19 de maio de 2011
quem usa?



                                       3
quinta-feira, 19 de maio de 2011
fedora
                                   debian                     gnome


                      perl             linux kernel                 RoR


                android                     Itautec   (new)
                                                                      Qt

                              facebook                        VLC
                                             INdT
                                               4
quinta-feira, 19 de maio de 2011
linux kernel
                                     alguns números...




                                             5
quinta-feira, 19 de maio de 2011
6
quinta-feira, 19 de maio de 2011
7
quinta-feira, 19 de maio de 2011
8
quinta-feira, 19 de maio de 2011
9
quinta-feira, 19 de maio de 2011
características



quinta-feira, 19 de maio de 2011
rápido




                                     11
quinta-feira, 19 de maio de 2011
simples




                                      12
quinta-feira, 19 de maio de 2011
escalável




                                       13
quinta-feira, 19 de maio de 2011
distribuído




                                        14
quinta-feira, 19 de maio de 2011
local
                                   centralizado
                                    distribuído

                                        15
quinta-feira, 19 de maio de 2011
local




                                     16
quinta-feira, 19 de maio de 2011
centralizado




                                        17
quinta-feira, 19 de maio de 2011
distribuído




                                        18
quinta-feira, 19 de maio de 2011
git 101



quinta-feira, 19 de maio de 2011
instalação
                     # a partir de agora é no terminal do linux!

                     # baixar e executar o script de instalação local
                     $ wget http://www.cin.ufpe.br/~astm/git/git.sh

                     # ubuntu
                     $ sudo apt-get install git-core
                     # fedora
                     $ su; yum install git


quinta-feira, 19 de maio de 2011
git init
                                   cria um repositório ou reinicia um existente




quinta-feira, 19 de maio de 2011
git init - exemplo
                                     # cria pasta do projeto
                                     $ mkdir ~/ldc-automacao

                                     # muda para essa pasta
                                     $ cd ~/ldc-automacao

                                     # inicia o repositório
                                     $ git init


quinta-feira, 19 de maio de 2011
git status
                                   mostra o status da pasta de trabalho




quinta-feira, 19 de maio de 2011
quinta-feira, 19 de maio de 2011
git add
                                   adiciona arquivos ao index




quinta-feira, 19 de maio de 2011
git add - exemplo #1

                                   # cria arquivo README
                                   $ touch README
                                   # o adiciona ao index
                                   $ git add README




quinta-feira, 19 de maio de 2011
git add - exemplo #2
                                   # baixa o código do LDC 1.0
                                   $ wget adrianomelo.com/ldc.tar
                                   # extrai os arquivos
                                   $ tar -xf ldc.tar

                                   $ git init
                                   $ git add .



quinta-feira, 19 de maio de 2011
git rm
                       remove o arquivo da árvore de trabalho e do index




quinta-feira, 19 de maio de 2011
git commit
                                   grava as mudanças no repositório




quinta-feira, 19 de maio de 2011
git commit - exemplo

                            # faz o commit das últimas alterações
                            $ git commit -m ‘ldc importado’

                            # faz o commit sem precisar do “git add”
                            $ git commit -am ‘ldc importado’




quinta-feira, 19 de maio de 2011
git log
                                   mostra o log dos commits




quinta-feira, 19 de maio de 2011
git log - exemplos

           # arquivos criados, renomeados, mudanças..
           $ git log --summary --oneline

           # mostra os commts e a árvore de merges
           $ git log --oneline --graph --color




quinta-feira, 19 de maio de 2011
git config
                         modifica as configurações do repositório e globais




quinta-feira, 19 de maio de 2011
git config - exemplo
              $ git config --list

              $ git config --global user.name “Adriano Melo”
              $ git config --global user.email 
              “astm@itautec.cin.ufpe.br”




quinta-feira, 19 de maio de 2011
git commit - correção


                            # corrige informações do último commit
                                      $ git commit --amend




quinta-feira, 19 de maio de 2011
git init
                                      git add
                                   git commit
                                    git status
                                      git log
                                    git config




quinta-feira, 19 de maio de 2011
branches
                                   desenvolvimento em paralelo




quinta-feira, 19 de maio de 2011
ao dar commit...
quinta-feira, 19 de maio de 2011
depois de alguns commits..
quinta-feira, 19 de maio de 2011
branch == ponteiro
quinta-feira, 19 de maio de 2011
novo branch (testing)
quinta-feira, 19 de maio de 2011
master em uso (HEAD)
quinta-feira, 19 de maio de 2011
testing em uso (HEAD)
quinta-feira, 19 de maio de 2011
commit em testing
quinta-feira, 19 de maio de 2011
usando master novamente...
quinta-feira, 19 de maio de 2011
commit em master
quinta-feira, 19 de maio de 2011
um branch em git é um arquivo
                                     que contém 40 caracteres.

                     (SHA-1 checksum do commit que ele aponta)




quinta-feira, 19 de maio de 2011
quinta-feira, 19 de maio de 2011
git branch
                                   cria, lista e deleta branches




quinta-feira, 19 de maio de 2011
git branch - exemplos

                              $ git branch # listar branches
                              $ git branch dev # criar branch
                              $ git branch -m dev stable # renomear
                              $ git branch -d stable # remover




quinta-feira, 19 de maio de 2011
git checkout
                                   muda para o branch especificado




quinta-feira, 19 de maio de 2011
git checkout - exemplo

                                   # cria branch ‘experimental’
                                   $ git branch experimental

                                   # muda para o branch
                                   $ git checkout experimental




quinta-feira, 19 de maio de 2011
git checkout - exemplo #2
                          # mostra os últimos commits
                          $ git log --oneline
                          a5eddf9 correcao na gramatica da divisao,
                          ad50ebf seg fault removido
                          dbb2342 doc changes

                          # vai para o commit dbb2342
                          $ git checkout dbb2342


quinta-feira, 19 de maio de 2011
git merge
                                   junta dois branches




quinta-feira, 19 de maio de 2011
git merge - exemplo
                           $ git checkout -b documentacao

                           $ touch INSTALL
                           $ git add INSTALL
                           $ git commit -m ‘arquivo INSTALL criado’

                           $ git checkout master
                           $ git merge documentacao



quinta-feira, 19 de maio de 2011
git rebase
                     integrar mudanças de uma branch à ultima versão de
                                           outra




quinta-feira, 19 de maio de 2011
quinta-feira, 19 de maio de 2011
git rebase - exemplo

                            $ git checkout issue32

                            # adiciona as mudancas do branch
                            issue32 ao branch master
                            $ git rebase master




quinta-feira, 19 de maio de 2011
git branch
                                   git checkout
                                     git merge
                                    git rebase




quinta-feira, 19 de maio de 2011
remote
                                   trabalhando de forma colaborativa




quinta-feira, 19 de maio de 2011
tarefinha:

                                   1. criar conta no github.com

                                     2. dar fork no repositório:
                             github.com/adrianomelo/c-compiler-in-c/




quinta-feira, 19 de maio de 2011
git clone
                                   “clona” um repositório




quinta-feira, 19 de maio de 2011
git clone - exemplo

                    # indo para a pasta do usuário
                    $ cd ~
                    # clonando o repositório
                    $ git clone https://astm@github.com/astm/c-compiler-in-c.git
                    # indo para a pasta do projeto
                    $ cd c-compiler-in-c



quinta-feira, 19 de maio de 2011
git push
                      atualiza repositório remoto com as mudanças locais




quinta-feira, 19 de maio de 2011
git push - exemplo #1

                      # forçando uma modificação
                      $ echo “Testando repositorio” >> README
                      $ git commit -am ‘teste de mudanca’

                      # escrevendo as mudanças no repositório
                      $ git push origin master



quinta-feira, 19 de maio de 2011
git push - exemplo #2
                            # deletando a branch remota issue30
                            $ git push origin :issue30

                            # associar um branch local a um remoto
                            $ git checkout -b issue32tryfix
                            $ git checkout --track origin/issue32
                            $ git push origin issue32



quinta-feira, 19 de maio de 2011
git fetch
                                   atualiza o branch remoto especificado




quinta-feira, 19 de maio de 2011
git fetch - exemplo #1

                   # clonando o repositório c-compiler-in-c
                   $ git clone https://astm@github.com/astm/c-compiler-in-c.git
                   # atualizando o branch origin/master
                   $ git fetch origin
                   # merge o origin/master com o master
                   $ git merge origin/master



quinta-feira, 19 de maio de 2011
git fetch - exemplo #2
                 # $P = prefixo, $L = repositório
                 $ P=git://git.kernel.org/pub/scm/
                 $ L=linux/kernel/git/stable/linux-2.6.35.y.git
                 # clonando o repositório 2.6.35 do kernel
                 $ git clone $P$L
                 # depois de algumas horas.....
                 $ git fetch origin master
                 # mudanças realizadas, comparando com HEAD
                 $ git diff FETCH_HEAD..HEAD
                 # diferença dos dois últimos commits..
                 $ git diff FETCH_HEAD..FETCH_HEADˆ
quinta-feira, 19 de maio de 2011
outros comandos..



quinta-feira, 19 de maio de 2011
git bisect
                  faz uma busca binária para achar o commit que um bug
                                foi introduzido (regressão)




quinta-feira, 19 de maio de 2011
git bisect - exemplo
                   $ git bisect start
                   $ git bisect bad
                   $ git bisect good v2.6.13-rc2
                   Bisecting: 675 revisions left to test after this

                   $ git bisect good
                   Bisecting: 337 revisions left to test after this

                   $ git bisect reset


quinta-feira, 19 de maio de 2011
git reset
                                   limpa o HEAD para o estado especificado




quinta-feira, 19 de maio de 2011
git reset - exemplo

                                        $ touch gui.java
                                        $ git add gui.java

                                        $ git reset




quinta-feira, 19 de maio de 2011
site:
                              cinlug-br.org
                           twitter:
                              twitter.com/cinlug
                           lista:
                              http://groups.google.com/group/cinlug/

quinta-feira, 19 de maio de 2011

More Related Content

Viewers also liked (8)

GIT Introduction
GIT IntroductionGIT Introduction
GIT Introduction
 
Fluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando GitFluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando Git
 
Controle de versão utilizando git
Controle de versão utilizando gitControle de versão utilizando git
Controle de versão utilizando git
 
Gitlab flow
Gitlab flowGitlab flow
Gitlab flow
 
Gitlab flow solo
Gitlab flow soloGitlab flow solo
Gitlab flow solo
 
Up GitLab Presentation 2015
Up GitLab Presentation 2015Up GitLab Presentation 2015
Up GitLab Presentation 2015
 
Introduction to Gitlab
Introduction to GitlabIntroduction to Gitlab
Introduction to Gitlab
 
Aprendendo Git
Aprendendo GitAprendendo Git
Aprendendo Git
 

More from Adriano Melo

Mini-curso de Linux na CPRecife2
Mini-curso de Linux na CPRecife2Mini-curso de Linux na CPRecife2
Mini-curso de Linux na CPRecife2
Adriano Melo
 
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de físicaFISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
Adriano Melo
 
Apresentação FLOSS
Apresentação FLOSSApresentação FLOSS
Apresentação FLOSS
Adriano Melo
 
Mini-curso de linux básico
Mini-curso de linux básicoMini-curso de linux básico
Mini-curso de linux básico
Adriano Melo
 
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
Adriano Melo
 

More from Adriano Melo (13)

leanCoR: lean Connection-based DL Reasoner
leanCoR: lean Connection-based DL ReasonerleanCoR: lean Connection-based DL Reasoner
leanCoR: lean Connection-based DL Reasoner
 
Aula sobre SWRL
Aula sobre SWRLAula sobre SWRL
Aula sobre SWRL
 
O axioma da escolha (the axiom of choice) - incomplete
O axioma da escolha (the axiom of choice) - incompleteO axioma da escolha (the axiom of choice) - incomplete
O axioma da escolha (the axiom of choice) - incomplete
 
Mini-curso de Linux na CPRecife2
Mini-curso de Linux na CPRecife2Mini-curso de Linux na CPRecife2
Mini-curso de Linux na CPRecife2
 
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de físicaFISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
 
Apresentação FLOSS
Apresentação FLOSSApresentação FLOSS
Apresentação FLOSS
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)
 
Aula SWRL
Aula SWRLAula SWRL
Aula SWRL
 
Protégé: Lógica de descrições na pratica!
Protégé: Lógica de descrições na pratica!Protégé: Lógica de descrições na pratica!
Protégé: Lógica de descrições na pratica!
 
Trabalho de Graduação: Normalização de ontologias em lógica de descrições par...
Trabalho de Graduação: Normalização de ontologias em lógica de descrições par...Trabalho de Graduação: Normalização de ontologias em lógica de descrições par...
Trabalho de Graduação: Normalização de ontologias em lógica de descrições par...
 
Mini-curso de linux básico
Mini-curso de linux básicoMini-curso de linux básico
Mini-curso de linux básico
 
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
 
git: o primeiro passo do seu projeto de código aberto
git: o primeiro passo do seu projeto de código abertogit: o primeiro passo do seu projeto de código aberto
git: o primeiro passo do seu projeto de código aberto
 

Recently uploaded

Recently uploaded (8)

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
 
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 - 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
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
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
 
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
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 

git 101

  • 1. git 1 quinta-feira, 19 de maio de 2011
  • 2. git is... “Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency.” 2 quinta-feira, 19 de maio de 2011
  • 3. quem usa? 3 quinta-feira, 19 de maio de 2011
  • 4. fedora debian gnome perl linux kernel RoR android Itautec (new) Qt facebook VLC INdT 4 quinta-feira, 19 de maio de 2011
  • 5. linux kernel alguns números... 5 quinta-feira, 19 de maio de 2011
  • 6. 6 quinta-feira, 19 de maio de 2011
  • 7. 7 quinta-feira, 19 de maio de 2011
  • 8. 8 quinta-feira, 19 de maio de 2011
  • 9. 9 quinta-feira, 19 de maio de 2011
  • 11. rápido 11 quinta-feira, 19 de maio de 2011
  • 12. simples 12 quinta-feira, 19 de maio de 2011
  • 13. escalável 13 quinta-feira, 19 de maio de 2011
  • 14. distribuído 14 quinta-feira, 19 de maio de 2011
  • 15. local centralizado distribuído 15 quinta-feira, 19 de maio de 2011
  • 16. local 16 quinta-feira, 19 de maio de 2011
  • 17. centralizado 17 quinta-feira, 19 de maio de 2011
  • 18. distribuído 18 quinta-feira, 19 de maio de 2011
  • 19. git 101 quinta-feira, 19 de maio de 2011
  • 20. instalação # a partir de agora é no terminal do linux! # baixar e executar o script de instalação local $ wget http://www.cin.ufpe.br/~astm/git/git.sh # ubuntu $ sudo apt-get install git-core # fedora $ su; yum install git quinta-feira, 19 de maio de 2011
  • 21. git init cria um repositório ou reinicia um existente quinta-feira, 19 de maio de 2011
  • 22. git init - exemplo # cria pasta do projeto $ mkdir ~/ldc-automacao # muda para essa pasta $ cd ~/ldc-automacao # inicia o repositório $ git init quinta-feira, 19 de maio de 2011
  • 23. git status mostra o status da pasta de trabalho quinta-feira, 19 de maio de 2011
  • 24. quinta-feira, 19 de maio de 2011
  • 25. git add adiciona arquivos ao index quinta-feira, 19 de maio de 2011
  • 26. git add - exemplo #1 # cria arquivo README $ touch README # o adiciona ao index $ git add README quinta-feira, 19 de maio de 2011
  • 27. git add - exemplo #2 # baixa o código do LDC 1.0 $ wget adrianomelo.com/ldc.tar # extrai os arquivos $ tar -xf ldc.tar $ git init $ git add . quinta-feira, 19 de maio de 2011
  • 28. git rm remove o arquivo da árvore de trabalho e do index quinta-feira, 19 de maio de 2011
  • 29. git commit grava as mudanças no repositório quinta-feira, 19 de maio de 2011
  • 30. git commit - exemplo # faz o commit das últimas alterações $ git commit -m ‘ldc importado’ # faz o commit sem precisar do “git add” $ git commit -am ‘ldc importado’ quinta-feira, 19 de maio de 2011
  • 31. git log mostra o log dos commits quinta-feira, 19 de maio de 2011
  • 32. git log - exemplos # arquivos criados, renomeados, mudanças.. $ git log --summary --oneline # mostra os commts e a árvore de merges $ git log --oneline --graph --color quinta-feira, 19 de maio de 2011
  • 33. git config modifica as configurações do repositório e globais quinta-feira, 19 de maio de 2011
  • 34. git config - exemplo $ git config --list $ git config --global user.name “Adriano Melo” $ git config --global user.email “astm@itautec.cin.ufpe.br” quinta-feira, 19 de maio de 2011
  • 35. git commit - correção # corrige informações do último commit $ git commit --amend quinta-feira, 19 de maio de 2011
  • 36. git init git add git commit git status git log git config quinta-feira, 19 de maio de 2011
  • 37. branches desenvolvimento em paralelo quinta-feira, 19 de maio de 2011
  • 38. ao dar commit... quinta-feira, 19 de maio de 2011
  • 39. depois de alguns commits.. quinta-feira, 19 de maio de 2011
  • 40. branch == ponteiro quinta-feira, 19 de maio de 2011
  • 42. master em uso (HEAD) quinta-feira, 19 de maio de 2011
  • 43. testing em uso (HEAD) quinta-feira, 19 de maio de 2011
  • 44. commit em testing quinta-feira, 19 de maio de 2011
  • 46. commit em master quinta-feira, 19 de maio de 2011
  • 47. um branch em git é um arquivo que contém 40 caracteres. (SHA-1 checksum do commit que ele aponta) quinta-feira, 19 de maio de 2011
  • 48. quinta-feira, 19 de maio de 2011
  • 49. git branch cria, lista e deleta branches quinta-feira, 19 de maio de 2011
  • 50. git branch - exemplos $ git branch # listar branches $ git branch dev # criar branch $ git branch -m dev stable # renomear $ git branch -d stable # remover quinta-feira, 19 de maio de 2011
  • 51. git checkout muda para o branch especificado quinta-feira, 19 de maio de 2011
  • 52. git checkout - exemplo # cria branch ‘experimental’ $ git branch experimental # muda para o branch $ git checkout experimental quinta-feira, 19 de maio de 2011
  • 53. git checkout - exemplo #2 # mostra os últimos commits $ git log --oneline a5eddf9 correcao na gramatica da divisao, ad50ebf seg fault removido dbb2342 doc changes # vai para o commit dbb2342 $ git checkout dbb2342 quinta-feira, 19 de maio de 2011
  • 54. git merge junta dois branches quinta-feira, 19 de maio de 2011
  • 55. git merge - exemplo $ git checkout -b documentacao $ touch INSTALL $ git add INSTALL $ git commit -m ‘arquivo INSTALL criado’ $ git checkout master $ git merge documentacao quinta-feira, 19 de maio de 2011
  • 56. git rebase integrar mudanças de uma branch à ultima versão de outra quinta-feira, 19 de maio de 2011
  • 57. quinta-feira, 19 de maio de 2011
  • 58. git rebase - exemplo $ git checkout issue32 # adiciona as mudancas do branch issue32 ao branch master $ git rebase master quinta-feira, 19 de maio de 2011
  • 59. git branch git checkout git merge git rebase quinta-feira, 19 de maio de 2011
  • 60. remote trabalhando de forma colaborativa quinta-feira, 19 de maio de 2011
  • 61. tarefinha: 1. criar conta no github.com 2. dar fork no repositório: github.com/adrianomelo/c-compiler-in-c/ quinta-feira, 19 de maio de 2011
  • 62. git clone “clona” um repositório quinta-feira, 19 de maio de 2011
  • 63. git clone - exemplo # indo para a pasta do usuário $ cd ~ # clonando o repositório $ git clone https://astm@github.com/astm/c-compiler-in-c.git # indo para a pasta do projeto $ cd c-compiler-in-c quinta-feira, 19 de maio de 2011
  • 64. git push atualiza repositório remoto com as mudanças locais quinta-feira, 19 de maio de 2011
  • 65. git push - exemplo #1 # forçando uma modificação $ echo “Testando repositorio” >> README $ git commit -am ‘teste de mudanca’ # escrevendo as mudanças no repositório $ git push origin master quinta-feira, 19 de maio de 2011
  • 66. git push - exemplo #2 # deletando a branch remota issue30 $ git push origin :issue30 # associar um branch local a um remoto $ git checkout -b issue32tryfix $ git checkout --track origin/issue32 $ git push origin issue32 quinta-feira, 19 de maio de 2011
  • 67. git fetch atualiza o branch remoto especificado quinta-feira, 19 de maio de 2011
  • 68. git fetch - exemplo #1 # clonando o repositório c-compiler-in-c $ git clone https://astm@github.com/astm/c-compiler-in-c.git # atualizando o branch origin/master $ git fetch origin # merge o origin/master com o master $ git merge origin/master quinta-feira, 19 de maio de 2011
  • 69. git fetch - exemplo #2 # $P = prefixo, $L = repositório $ P=git://git.kernel.org/pub/scm/ $ L=linux/kernel/git/stable/linux-2.6.35.y.git # clonando o repositório 2.6.35 do kernel $ git clone $P$L # depois de algumas horas..... $ git fetch origin master # mudanças realizadas, comparando com HEAD $ git diff FETCH_HEAD..HEAD # diferença dos dois últimos commits.. $ git diff FETCH_HEAD..FETCH_HEADˆ quinta-feira, 19 de maio de 2011
  • 71. git bisect faz uma busca binária para achar o commit que um bug foi introduzido (regressão) quinta-feira, 19 de maio de 2011
  • 72. git bisect - exemplo $ git bisect start $ git bisect bad $ git bisect good v2.6.13-rc2 Bisecting: 675 revisions left to test after this $ git bisect good Bisecting: 337 revisions left to test after this $ git bisect reset quinta-feira, 19 de maio de 2011
  • 73. git reset limpa o HEAD para o estado especificado quinta-feira, 19 de maio de 2011
  • 74. git reset - exemplo $ touch gui.java $ git add gui.java $ git reset quinta-feira, 19 de maio de 2011
  • 75. site: cinlug-br.org twitter: twitter.com/cinlug lista: http://groups.google.com/group/cinlug/ quinta-feira, 19 de maio de 2011