SlideShare uma empresa Scribd logo
1 de 74
Baixar para ler offline
Visão Geral do Git
 Aplicando Git em ambiente Subversion
Porque Git?
Porque Git?
• Orinalmente foi escrito por Linus Torvalds;
Porque Git?
• Orinalmente foi escrito por Linus Torvalds;
• Usado no código-fonte do Kernel do Linux;
Porque Git?
• Orinalmente foi escrito por Linus Torvalds;
• Usado no código-fonte do Kernel do Linux;
• Trabalha com ambiente distribuído;
Porque Git?
• Orinalmente foi escrito por Linus Torvalds;
• Usado no código-fonte do Kernel do Linux;
• Trabalha com ambiente distribuído;
• Criar branchs e fazer merges são
  praticamente de graça;
Porque Git?
• Orinalmente foi escrito por Linus Torvalds;
• Usado no código-fonte do Kernel do Linux;
• Trabalha com ambiente distribuído;
• Criar branchs e fazer merges são
  praticamente de graça;
• Commits são off-line;
Porque Git?
Porque Git?

• É rápido (logs, history, diff);
Porque Git?

• É rápido (logs, history, diff);
• Mantém seus diretórios limpos;
Porque Git?

• É rápido (logs, history, diff);
• Mantém seus diretórios limpos;
• Funciona por conteúdo e não por arquivos;
Porque Git?

• É rápido (logs, history, diff);
• Mantém seus diretórios limpos;
• Funciona por conteúdo e não por arquivos;
• Comunidade ativa!
Antes de Começar
Antes de Começar

• Configuração globais (~/.gitconfig)
• Setar informações pessoais: nome, email
• Pode-se configurar alias para obter
  comandos iguais ao do Subversion
~/.gitconfig
O Modelo Subversion:
      Centralizado
        Repositório SVN
O Modelo Subversion:
                  Centralizado
                    Repositório SVN




Desenvolvedor 1
O Modelo Subversion:
                  Centralizado
                    Repositório SVN




Desenvolvedor 1

   Revisão: 1
O Modelo Subversion:
                  Centralizado
                       Revisão: 2

                    Repositório SVN




Desenvolvedor 1

   Revisão: 2
O Modelo Subversion:
                  Centralizado
                       Revisão: 2

                    Repositório SVN




Desenvolvedor 1     Desenvolvedor 2

   Revisão: 2
O Modelo Subversion:
                  Centralizado
                       Revisão: 2

                    Repositório SVN




Desenvolvedor 1     Desenvolvedor 2

   Revisão: 2          Revisão: 2
O Modelo Subversion:
                  Centralizado
                       Revisão: 3

                    Repositório SVN




Desenvolvedor 1     Desenvolvedor 2

   Revisão: 2          Revisão: 3
O Modelo Subversion:
                  Centralizado
                       Revisão: 3

                    Repositório SVN




Desenvolvedor 1     Desenvolvedor 2   Desenvolvedor 3

   Revisão: 2          Revisão: 3
O Modelo Subversion:
                  Centralizado
                       Revisão: 3

                    Repositório SVN




Desenvolvedor 1     Desenvolvedor 2   Desenvolvedor 3

   Revisão: 2          Revisão: 3        Revisão: 3
O Modelo Subversion:
                  Centralizado
                       Revisão: 4

                    Repositório SVN




Desenvolvedor 1     Desenvolvedor 2   Desenvolvedor 3

   Revisão: 2          Revisão: 3        Revisão: 4
O Modelo Git:
   Distribuído
     Repositório Git
O Modelo Git:
                  Distribuído
                    Repositório Git




Desenvolvedor 1
O Modelo Git:
                        Distribuído
                    master   Repositório Git




master
  Desenvolvedor 1
O Modelo Git:
                                                     Distribuído
                                                  commit d25f5d83c193d3f079b0c8ee27ab869da058483b


                                           master            Repositório Git




      master
          Desenvolvedor 1
commit d25f5d83c193d3f079b0c8ee27ab869da058483b
O Modelo Git:
                                                     Distribuído
                                                  commit d25f5d83c193d3f079b0c8ee27ab869da058483b


                                           master            Repositório Git




      master
          Desenvolvedor 1                                   Desenvolvedor 2
commit d25f5d83c193d3f079b0c8ee27ab869da058483b
O Modelo Git:
                                                     Distribuído
                                                  commit d25f5d83c193d3f079b0c8ee27ab869da058483b


                                           master            Repositório Git




      master                                            master
          Desenvolvedor 1                                   Desenvolvedor 2
commit d25f5d83c193d3f079b0c8ee27ab869da058483b   commit d25f5d83c193d3f079b0c8ee27ab869da058483b
O Modelo Git:
                                                     Distribuído
                                                  commit e823f30f082d3fdecb13f2177736242b80b39e96


                                           master            Repositório Git




      master                                           master
          Desenvolvedor 1                                   Desenvolvedor 2
commit d25f5d83c193d3f079b0c8ee27ab869da058483b   commit e823f30f082d3fdecb13f2177736242b80b39e96
O Modelo Git:
                                                     Distribuído
                                                  commit e823f30f082d3fdecb13f2177736242b80b39e96


                                           master            Repositório Git




      master                                           master
          Desenvolvedor 1                                   Desenvolvedor 2                         Desenvolvedor 3
commit d25f5d83c193d3f079b0c8ee27ab869da058483b   commit e823f30f082d3fdecb13f2177736242b80b39e96
O Modelo Git:
                                                     Distribuído
                                                  commit e823f30f082d3fdecb13f2177736242b80b39e96


                                           master            Repositório Git




      master                                           master                                                                    master
          Desenvolvedor 1                                   Desenvolvedor 2                                   Desenvolvedor 3
commit d25f5d83c193d3f079b0c8ee27ab869da058483b   commit e823f30f082d3fdecb13f2177736242b80b39e96   commit e823f30f082d3fdecb13f2177736242b80b39e96
O Modelo Git:
                                                     Distribuído
                                                  commit 3ae6894ec28bfa193b952f929364b0cf67a64749


                                           master            Repositório Git




      master                                           master                                                                    master
          Desenvolvedor 1                                   Desenvolvedor 2                                   Desenvolvedor 3
commit d25f5d83c193d3f079b0c8ee27ab869da058483b   commit e823f30f082d3fdecb13f2177736242b80b39e96   commit 3ae6894ec28bfa193b952f929364b0cf67a64749
O Modelo Git:
                                                     Distribuído
                                                  commit 3ae6894ec28bfa193b952f929364b0cf67a64749


                                           master            Repositório Git




      master                                           master                                                                    master
          Desenvolvedor 1                                   Desenvolvedor 2                                   Desenvolvedor 3
commit ef6062e6780ed36ad3057ce7b580c2bbfbb89bbd   commit e823f30f082d3fdecb13f2177736242b80b39e96   commit 3ae6894ec28bfa193b952f929364b0cf67a64749
O Modelo Git:
                                                     Distribuído
                                                  commit 3ae6894ec28bfa193b952f929364b0cf67a64749


                                           master            Repositório Git




      master                                           master                                                                    master
          Desenvolvedor 1                                   Desenvolvedor 2                                   Desenvolvedor 3
commit ef6062e6780ed36ad3057ce7b580c2bbfbb89bbd   commit e823f30f082d3fdecb13f2177736242b80b39e96   commit 3ae6894ec28bfa193b952f929364b0cf67a64749
O Modelo Git:
                                                     Distribuído
                                                  commit 3ae6894ec28bfa193b952f929364b0cf67a64749


                                           master            Repositório Git




      master                                                dev1                                                                 master
          Desenvolvedor 1                                   Desenvolvedor 2                                   Desenvolvedor 3
commit ef6062e6780ed36ad3057ce7b580c2bbfbb89bbd   commit ef6062e6780ed36ad3057ce7b580c2bbfbb89bbd   commit 3ae6894ec28bfa193b952f929364b0cf67a64749
Git Directory
Git Directory
Git Directory



Nós temos apenas um diretório .git!!!
Criando um repositório
       com Git
Clonando repositórios
      com Git
git status
git status
• Arquivos fora do controle de versão:
 •   Novos arquivos
git status
• Arquivos fora do controle de versão:
 •   Novos arquivos

• Arquivos modificados mas não atualizados:
 •   Arquivos locais alterados, mas fora do índice
git status
• Arquivos fora do controle de versão:
 •   Novos arquivos

• Arquivos modificados mas não atualizados:
 •   Arquivos locais alterados, mas fora do índice

• Alteração que serão enviadas
 •   O Índice
git status
O Índice
O Índice


• Ponto de partida para seu próximo commit
O Índice


• Ponto de partida para seu próximo commit
• Lista de arquivos semelhantes ao mancados
  como A, M, D na saída de svn   status
Principal diferença

• Após   efetuar qualquer mudança no
 diretório de trabalho e antes de executar
 qualquer commit, você deve usar o
 comando a d d para adicionar qualquer
 arquivo novo ou modificado para o índice
Exemplo
Committing
•   git commit (git ci)


    • Comita o que estiver no índice
•   git commit -a (git ci -a)


    • adiciona os arquivos alterados para o
      índice e faz o commit, mas ignora os
      arquivos não versionados
    • Idêntico ao Subversion
Desfazendo Mudanças

$ git checkout PATH   $ svn revert PATH
git revert != svn revert
# mais parecido com svn revert
$ git checkout .




# reverte o commit <rev> e comita o resultado
$ git revert <rev>
Criando branch
Criando branch



        Tudo em apenas um comando!
Merges
Merges
# voltando para o branch master
$ git co master
Merges
# voltando para o branch master
$ git co master


# juntando as mudanças de outro branch
$ git merge {outro-branch}
Merges
# voltando para o branch master
$ git co master


# juntando as mudanças de outro branch
$ git merge {outro-branch}


# apagando o branch usado
git br -d {outro-branch}
Resolvendo conflitos
Resolvendo conflitos
$ git merge {branch-conflitante}
Auto-merged README
CONFLICT (content): Merge conflict in README
Automatic merge failed; fix conflicts and then commit the result
Resolvendo conflitos
$ git merge {branch-conflitante}
Auto-merged README
CONFLICT (content): Merge conflict in README
Automatic merge failed; fix conflicts and then commit the result


# corrigindo o conflito e comitando
Resolvendo conflitos
$ git merge {branch-conflitante}
Auto-merged README
CONFLICT (content): Merge conflict in README
Automatic merge failed; fix conflicts and then commit the result


# corrigindo o conflito e comitando
$ vim README
Resolvendo conflitos
$ git merge {branch-conflitante}
Auto-merged README
CONFLICT (content): Merge conflict in README
Automatic merge failed; fix conflicts and then commit the result


# corrigindo o conflito e comitando
$ vim README
$ git add README
Resolvendo conflitos
$ git merge {branch-conflitante}
Auto-merged README
CONFLICT (content): Merge conflict in README
Automatic merge failed; fix conflicts and then commit the result


#   corrigindo o conflito e comitando
$   vim README
$   git add README
$   git ci -m “corrigi o conflito com o branch {branch-conflitante}”
Curiosidades sobre Git
Curiosidades sobre Git

• Para remover arquivos e diretórios:
          git rm {file-name}
          git rm -rf {file-name}
Curiosidades sobre Git

• Para remover arquivos e diretórios:
          git rm {file-name}
          git rm -rf {file-name}
• Para renomear arquivos:
          git mv {file-name} {new-file-name}
Curiosidades sobre Git
Curiosidades sobre Git


 Se seus diretórios estão vazios, Git
     não está nem aí para eles!
Dúvidas?

Mais conteúdo relacionado

Semelhante a Git em ambiente Subversion

Mini curso Git - 2º dia
Mini curso Git - 2º diaMini curso Git - 2º dia
Mini curso Git - 2º diaArmando Couto
 
Treinamento - Iniciando no Git e Github by Leandro Alves
Treinamento  - Iniciando no Git e Github by Leandro AlvesTreinamento  - Iniciando no Git e Github by Leandro Alves
Treinamento - Iniciando no Git e Github by Leandro AlvesLeandro Alves
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com GitRaphael Cruzeiro
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET ComputaçãoBruno Orlandi
 
Gerencie as Mudanças de Seu Código Usando Git
Gerencie as Mudanças de Seu Código Usando GitGerencie as Mudanças de Seu Código Usando Git
Gerencie as Mudanças de Seu Código Usando GitFaculdade Martha Falcão
 
GIT - Gerenciamento de Projeto e Versionamento Semântico
GIT - Gerenciamento de Projeto e Versionamento SemânticoGIT - Gerenciamento de Projeto e Versionamento Semântico
GIT - Gerenciamento de Projeto e Versionamento SemânticoDjanilson Alves
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoWilliam Lima
 
Github para colaboradores livres
Github para colaboradores livresGithub para colaboradores livres
Github para colaboradores livresThiago Sciotta
 
Workshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubWorkshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubGilson Junior
 
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
 
Git e boas praticas!
Git e boas praticas!Git e boas praticas!
Git e boas praticas!Vitor Silva
 
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
 

Semelhante a Git em ambiente Subversion (20)

Mini curso Git - 2º dia
Mini curso Git - 2º diaMini curso Git - 2º dia
Mini curso Git - 2º dia
 
Treinamento - Iniciando no Git e Github by Leandro Alves
Treinamento  - Iniciando no Git e Github by Leandro AlvesTreinamento  - Iniciando no Git e Github by Leandro Alves
Treinamento - Iniciando no Git e Github by Leandro Alves
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
Git e github
Git e githubGit e github
Git e github
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET Computação
 
Primeiros passos - GIT
Primeiros passos - GITPrimeiros passos - GIT
Primeiros passos - GIT
 
Gerencie as Mudanças de Seu Código Usando Git
Gerencie as Mudanças de Seu Código Usando GitGerencie as Mudanças de Seu Código Usando Git
Gerencie as Mudanças de Seu Código Usando Git
 
GIT - Gerenciamento de Projeto e Versionamento Semântico
GIT - Gerenciamento de Projeto e Versionamento SemânticoGIT - Gerenciamento de Projeto e Versionamento Semântico
GIT - Gerenciamento de Projeto e Versionamento Semântico
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotado
 
#2 - Git - DAG
#2 - Git - DAG#2 - Git - DAG
#2 - Git - DAG
 
Git
GitGit
Git
 
Github para colaboradores livres
Github para colaboradores livresGithub para colaboradores livres
Github para colaboradores livres
 
Workshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubWorkshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHub
 
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 101
Git 101Git 101
Git 101
 
Git e boas praticas!
Git e boas praticas!Git e boas praticas!
Git e boas praticas!
 
Git e Github
Git e GithubGit e Github
Git e Github
 
Git ao GitHub
Git ao GitHubGit ao GitHub
Git ao GitHub
 
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
 

Git em ambiente Subversion

  • 1. Visão Geral do Git Aplicando Git em ambiente Subversion
  • 3. Porque Git? • Orinalmente foi escrito por Linus Torvalds;
  • 4. Porque Git? • Orinalmente foi escrito por Linus Torvalds; • Usado no código-fonte do Kernel do Linux;
  • 5. Porque Git? • Orinalmente foi escrito por Linus Torvalds; • Usado no código-fonte do Kernel do Linux; • Trabalha com ambiente distribuído;
  • 6. Porque Git? • Orinalmente foi escrito por Linus Torvalds; • Usado no código-fonte do Kernel do Linux; • Trabalha com ambiente distribuído; • Criar branchs e fazer merges são praticamente de graça;
  • 7. Porque Git? • Orinalmente foi escrito por Linus Torvalds; • Usado no código-fonte do Kernel do Linux; • Trabalha com ambiente distribuído; • Criar branchs e fazer merges são praticamente de graça; • Commits são off-line;
  • 9. Porque Git? • É rápido (logs, history, diff);
  • 10. Porque Git? • É rápido (logs, history, diff); • Mantém seus diretórios limpos;
  • 11. Porque Git? • É rápido (logs, history, diff); • Mantém seus diretórios limpos; • Funciona por conteúdo e não por arquivos;
  • 12. Porque Git? • É rápido (logs, history, diff); • Mantém seus diretórios limpos; • Funciona por conteúdo e não por arquivos; • Comunidade ativa!
  • 14. Antes de Começar • Configuração globais (~/.gitconfig) • Setar informações pessoais: nome, email • Pode-se configurar alias para obter comandos iguais ao do Subversion
  • 16. O Modelo Subversion: Centralizado Repositório SVN
  • 17. O Modelo Subversion: Centralizado Repositório SVN Desenvolvedor 1
  • 18. O Modelo Subversion: Centralizado Repositório SVN Desenvolvedor 1 Revisão: 1
  • 19. O Modelo Subversion: Centralizado Revisão: 2 Repositório SVN Desenvolvedor 1 Revisão: 2
  • 20. O Modelo Subversion: Centralizado Revisão: 2 Repositório SVN Desenvolvedor 1 Desenvolvedor 2 Revisão: 2
  • 21. O Modelo Subversion: Centralizado Revisão: 2 Repositório SVN Desenvolvedor 1 Desenvolvedor 2 Revisão: 2 Revisão: 2
  • 22. O Modelo Subversion: Centralizado Revisão: 3 Repositório SVN Desenvolvedor 1 Desenvolvedor 2 Revisão: 2 Revisão: 3
  • 23. O Modelo Subversion: Centralizado Revisão: 3 Repositório SVN Desenvolvedor 1 Desenvolvedor 2 Desenvolvedor 3 Revisão: 2 Revisão: 3
  • 24. O Modelo Subversion: Centralizado Revisão: 3 Repositório SVN Desenvolvedor 1 Desenvolvedor 2 Desenvolvedor 3 Revisão: 2 Revisão: 3 Revisão: 3
  • 25. O Modelo Subversion: Centralizado Revisão: 4 Repositório SVN Desenvolvedor 1 Desenvolvedor 2 Desenvolvedor 3 Revisão: 2 Revisão: 3 Revisão: 4
  • 26. O Modelo Git: Distribuído Repositório Git
  • 27. O Modelo Git: Distribuído Repositório Git Desenvolvedor 1
  • 28. O Modelo Git: Distribuído master Repositório Git master Desenvolvedor 1
  • 29. O Modelo Git: Distribuído commit d25f5d83c193d3f079b0c8ee27ab869da058483b master Repositório Git master Desenvolvedor 1 commit d25f5d83c193d3f079b0c8ee27ab869da058483b
  • 30. O Modelo Git: Distribuído commit d25f5d83c193d3f079b0c8ee27ab869da058483b master Repositório Git master Desenvolvedor 1 Desenvolvedor 2 commit d25f5d83c193d3f079b0c8ee27ab869da058483b
  • 31. O Modelo Git: Distribuído commit d25f5d83c193d3f079b0c8ee27ab869da058483b master Repositório Git master master Desenvolvedor 1 Desenvolvedor 2 commit d25f5d83c193d3f079b0c8ee27ab869da058483b commit d25f5d83c193d3f079b0c8ee27ab869da058483b
  • 32. O Modelo Git: Distribuído commit e823f30f082d3fdecb13f2177736242b80b39e96 master Repositório Git master master Desenvolvedor 1 Desenvolvedor 2 commit d25f5d83c193d3f079b0c8ee27ab869da058483b commit e823f30f082d3fdecb13f2177736242b80b39e96
  • 33. O Modelo Git: Distribuído commit e823f30f082d3fdecb13f2177736242b80b39e96 master Repositório Git master master Desenvolvedor 1 Desenvolvedor 2 Desenvolvedor 3 commit d25f5d83c193d3f079b0c8ee27ab869da058483b commit e823f30f082d3fdecb13f2177736242b80b39e96
  • 34. O Modelo Git: Distribuído commit e823f30f082d3fdecb13f2177736242b80b39e96 master Repositório Git master master master Desenvolvedor 1 Desenvolvedor 2 Desenvolvedor 3 commit d25f5d83c193d3f079b0c8ee27ab869da058483b commit e823f30f082d3fdecb13f2177736242b80b39e96 commit e823f30f082d3fdecb13f2177736242b80b39e96
  • 35. O Modelo Git: Distribuído commit 3ae6894ec28bfa193b952f929364b0cf67a64749 master Repositório Git master master master Desenvolvedor 1 Desenvolvedor 2 Desenvolvedor 3 commit d25f5d83c193d3f079b0c8ee27ab869da058483b commit e823f30f082d3fdecb13f2177736242b80b39e96 commit 3ae6894ec28bfa193b952f929364b0cf67a64749
  • 36. O Modelo Git: Distribuído commit 3ae6894ec28bfa193b952f929364b0cf67a64749 master Repositório Git master master master Desenvolvedor 1 Desenvolvedor 2 Desenvolvedor 3 commit ef6062e6780ed36ad3057ce7b580c2bbfbb89bbd commit e823f30f082d3fdecb13f2177736242b80b39e96 commit 3ae6894ec28bfa193b952f929364b0cf67a64749
  • 37. O Modelo Git: Distribuído commit 3ae6894ec28bfa193b952f929364b0cf67a64749 master Repositório Git master master master Desenvolvedor 1 Desenvolvedor 2 Desenvolvedor 3 commit ef6062e6780ed36ad3057ce7b580c2bbfbb89bbd commit e823f30f082d3fdecb13f2177736242b80b39e96 commit 3ae6894ec28bfa193b952f929364b0cf67a64749
  • 38. O Modelo Git: Distribuído commit 3ae6894ec28bfa193b952f929364b0cf67a64749 master Repositório Git master dev1 master Desenvolvedor 1 Desenvolvedor 2 Desenvolvedor 3 commit ef6062e6780ed36ad3057ce7b580c2bbfbb89bbd commit ef6062e6780ed36ad3057ce7b580c2bbfbb89bbd commit 3ae6894ec28bfa193b952f929364b0cf67a64749
  • 41. Git Directory Nós temos apenas um diretório .git!!!
  • 45. git status • Arquivos fora do controle de versão: • Novos arquivos
  • 46. git status • Arquivos fora do controle de versão: • Novos arquivos • Arquivos modificados mas não atualizados: • Arquivos locais alterados, mas fora do índice
  • 47. git status • Arquivos fora do controle de versão: • Novos arquivos • Arquivos modificados mas não atualizados: • Arquivos locais alterados, mas fora do índice • Alteração que serão enviadas • O Índice
  • 50. O Índice • Ponto de partida para seu próximo commit
  • 51. O Índice • Ponto de partida para seu próximo commit • Lista de arquivos semelhantes ao mancados como A, M, D na saída de svn status
  • 52. Principal diferença • Após efetuar qualquer mudança no diretório de trabalho e antes de executar qualquer commit, você deve usar o comando a d d para adicionar qualquer arquivo novo ou modificado para o índice
  • 54. Committing • git commit (git ci) • Comita o que estiver no índice • git commit -a (git ci -a) • adiciona os arquivos alterados para o índice e faz o commit, mas ignora os arquivos não versionados • Idêntico ao Subversion
  • 55. Desfazendo Mudanças $ git checkout PATH $ svn revert PATH
  • 56. git revert != svn revert # mais parecido com svn revert $ git checkout . # reverte o commit <rev> e comita o resultado $ git revert <rev>
  • 58. Criando branch Tudo em apenas um comando!
  • 60. Merges # voltando para o branch master $ git co master
  • 61. Merges # voltando para o branch master $ git co master # juntando as mudanças de outro branch $ git merge {outro-branch}
  • 62. Merges # voltando para o branch master $ git co master # juntando as mudanças de outro branch $ git merge {outro-branch} # apagando o branch usado git br -d {outro-branch}
  • 64. Resolvendo conflitos $ git merge {branch-conflitante} Auto-merged README CONFLICT (content): Merge conflict in README Automatic merge failed; fix conflicts and then commit the result
  • 65. Resolvendo conflitos $ git merge {branch-conflitante} Auto-merged README CONFLICT (content): Merge conflict in README Automatic merge failed; fix conflicts and then commit the result # corrigindo o conflito e comitando
  • 66. Resolvendo conflitos $ git merge {branch-conflitante} Auto-merged README CONFLICT (content): Merge conflict in README Automatic merge failed; fix conflicts and then commit the result # corrigindo o conflito e comitando $ vim README
  • 67. Resolvendo conflitos $ git merge {branch-conflitante} Auto-merged README CONFLICT (content): Merge conflict in README Automatic merge failed; fix conflicts and then commit the result # corrigindo o conflito e comitando $ vim README $ git add README
  • 68. Resolvendo conflitos $ git merge {branch-conflitante} Auto-merged README CONFLICT (content): Merge conflict in README Automatic merge failed; fix conflicts and then commit the result # corrigindo o conflito e comitando $ vim README $ git add README $ git ci -m “corrigi o conflito com o branch {branch-conflitante}”
  • 70. Curiosidades sobre Git • Para remover arquivos e diretórios: git rm {file-name} git rm -rf {file-name}
  • 71. Curiosidades sobre Git • Para remover arquivos e diretórios: git rm {file-name} git rm -rf {file-name} • Para renomear arquivos: git mv {file-name} {new-file-name}
  • 73. Curiosidades sobre Git Se seus diretórios estão vazios, Git não está nem aí para eles!