Git em ambiente Subversion

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Git em ambiente Subversion - Presentation Transcript

    1. Visão Geral do Git Aplicando Git em ambiente Subversion
    2. Porque Git?
    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;
    8. Porque Git?
    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!
    13. Antes de Começar
    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
    15. ~/.gitconfig
    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
    39. Git Directory
    40. Git Directory
    41. Git Directory Nós temos apenas um diretório .git!!!
    42. Criando um repositório com Git
    43. Clonando repositórios com Git
    44. git status
    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
    48. git status
    49. 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
    53. Exemplo
    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>
    57. Criando branch
    58. Criando branch Tudo em apenas um comando!
    59. Merges
    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}
    63. Resolvendo conflitos
    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}”
    69. Curiosidades sobre Git
    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}
    72. Curiosidades sobre Git
    73. Curiosidades sobre Git Se seus diretórios estão vazios, Git não está nem aí para eles!
    74. Dúvidas?

    + willianfernandeswillianfernandes, 4 months ago

    custom

    355 views, 0 favs, 0 embeds more stats

    TechTalk apresentado na Visie, mostrando como o Git more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 355
      • 355 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 12
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Tags