Git para iniciantessábado, 15 de dezembro de 2012
Git para iniciantes                                                  1.3.0sábado, 15 de dezembro de 2012
Mauro... quem?sábado, 15 de dezembro de 2012
Mauro... quem?sábado, 15 de dezembro de 2012
Mauro... quem?sábado, 15 de dezembro de 2012
sábado, 15 de dezembro de 2012
sábado, 15 de dezembro de 2012
Mauro George        http://maurogeorge.github.com        http://www.aprenderphp.com.br        @maurogeorgesábado, 15 de de...
Sistemas de controle de versão                                 VCS (Version control systems)sábado, 15 de dezembro de 2012
Pra que?sábado, 15 de dezembro de 2012
Pra que?         Gerenciar diferentes versões de um arquivosábado, 15 de dezembro de 2012
Pra que?         Guardar histórico de alterações de um arquivosábado, 15 de dezembro de 2012
Pra que?         Saber quem fez e o porquê de cada alteraçãosábado, 15 de dezembro de 2012
Vantagenssábado, 15 de dezembro de 2012
Vantagens         Backup automáticosábado, 15 de dezembro de 2012
Vantagens         Controle do históricosábado, 15 de dezembro de 2012
Vantagens         Trabalho em equipesábado, 15 de dezembro de 2012
Vantagens         Marcação e resgate de versões estáveissábado, 15 de dezembro de 2012
Vantagens         Ramificação do projetosábado, 15 de dezembro de 2012
Diferentes modelossábado, 15 de dezembro de 2012
Centralizadosábado, 15 de dezembro de 2012
Centralizado         Necessita de um servidor centralsábado, 15 de dezembro de 2012
Centralizado         O checkout é uma cópia da estrutura dos arquivos do         repositóriosábado, 15 de dezembro de 2012
Centralizado         Somente usuários autorizados podem fazer commitssábado, 15 de dezembro de 2012
Centralizadosábado, 15 de dezembro de 2012
Distribuídosábado, 15 de dezembro de 2012
Distribuído         Cada cópia é um repositório com o histórico completosábado, 15 de dezembro de 2012
Distribuído         Não necessita de acesso a rede ou um servidor centralsábado, 15 de dezembro de 2012
Distribuído         Commits podem ser feitos offlinesábado, 15 de dezembro de 2012
Distribuído         Commits podem ser facilmente transferidos entre         repositóriossábado, 15 de dezembro de 2012
Distribuídosábado, 15 de dezembro de 2012
Distribuídosábado, 15 de dezembro de 2012
Pesquisasábado, 15 de dezembro de 2012
Pesquisa         Utiliza:         Nenhum         Subversion         Mercurial         Git         Outrosábado, 15 de dezem...
Gitsábado, 15 de dezembro de 2012
Git         Open sourcesábado, 15 de dezembro de 2012
Git         Desenvolvido originalmente por Linus Torvalds, com o         objetivo de...sábado, 15 de dezembro de 2012
Git         .. manter o Kernel do Linuxsábado, 15 de dezembro de 2012
Git         “focado em velocidade, efetividade e usabilidade do         mundo real em grandes projetos”sábado, 15 de dezem...
Instalaçãosábado, 15 de dezembro de 2012
Instalação Mac         DMG         http://code.google.com/p/git-osx-installer/downloads/list?can=3         Homebrew (mxcl....
Instalação Linux         apt-get         $ sudo apt-get install git-core git-gui git-docsábado, 15 de dezembro de 2012
Instalação Windows         msysgit         http://code.google.com/p/msysgit/downloads/list         * Use Git Bash Only    ...
GUIssábado, 15 de dezembro de 2012
GUIs Gitk para todas as         plataformassábado, 15 de dezembro de 2012
GUIs GitX (L) para Mac         http://gitx.laullon.com/   *GitX -> Enable Terminal Usagesábado, 15 de dezembro de 2012
GUIs Gitg para Linux         Gerenciador de pacotessábado, 15 de dezembro de 2012
GUIs tortoisegit para Windows         http://code.google.com/p/tortoisegit/sábado, 15 de dezembro de 2012
Primeiros passossábado, 15 de dezembro de 2012
Primeiros passos         Configuração         $ git config --global user.name "Mauro George"         $ git config --global us...
Primeiros passos         Criando nosso projeto         $ mkdir project         $ cd project         $ touch hello_world.ph...
Primeiros passos         Criando um repositório         $ git initsábado, 15 de dezembro de 2012
Primeiros passos         Criando um repositório         $ git init         Output:         Initialized empty Git repositor...
Primeiros passos         Primeiro commit         $ git add .         $ git commit -m "first commit"sábado, 15 de dezembro d...
Primeiros passos         Primeiro commit         $ git add .         $ git commit -m "first commit"         Output:        ...
Primeiros passos         Primeiro commit         $ git statussábado, 15 de dezembro de 2012
Primeiros passos         Primeiro commit         $ git status         Output:         # On branch master         nothing t...
Fluxo básicosábado, 15 de dezembro de 2012
Fluxo básico         Estado dos arquivos         Untracked         Modified         Staged         Commitedsábado, 15 de de...
Fluxo básico         Estado dos arquivos Untracked         Arquivos que o git não conhecesábado, 15 de dezembro de 2012
Fluxo básico         Estado dos arquivos Untracked         $ touch Readme         $ git statussábado, 15 de dezembro de 2012
Fluxo básico         Estado dos arquivos Untracked         $ touch Readme         $ git status         Output:         # O...
Fluxo básico         Estado dos arquivos Modified         Arquivos que o git já conhece e que foram alteradossábado, 15 de ...
Fluxo básico         Estado dos arquivos Modified         $ vim hello_world.php         <?php          echo Hello world;   ...
Fluxo básico         Estado dos arquivos Modified         $ git statussábado, 15 de dezembro de 2012
Fluxo básico         Estado dos arquivos Modified         Output:         # On branch master         # Changes not staged f...
Fluxo básico         Estado dos arquivos Staged         Arquivos que serão enviados para o repositóriosábado, 15 de dezemb...
Fluxo básico         Estado dos arquivos Staged         $ git add hello_world.php         $ git statussábado, 15 de dezemb...
Fluxo básico         Estado dos arquivos Staged         $ git add hello_world.php         $ git status         Output:    ...
Fluxo básico         Estado dos arquivos Commited         Arquivos que já estão no repositório gitsábado, 15 de dezembro d...
Fluxo básico         Estado dos arquivos Commited         $ git commit -m "showing hello world"sábado, 15 de dezembro de 2...
Fluxo básico         Estado dos arquivos Commited         $ git commit -m "showing hello world"         Output:         [m...
Fluxo básico         Estado dos arquivos Commited         $ git statussábado, 15 de dezembro de 2012
Fluxo básico         Estado dos arquivos Commited         $ git status         Output:         # On branch master         ...
Dica         Colorindo o output         $ git config --global color.ui truesábado, 15 de dezembro de 2012
Fluxo básico         Resumo         Editar os arquivos            Vim / emacs / textmate / etc         Colocar os arquivos...
Dica         Sempre leia as mensagens do Git         Output:         # On branch master         # Changes to be committed:...
Comandossábado, 15 de dezembro de 2012
Comandos         git diff         Visualiza o que foi modificadosábado, 15 de dezembro de 2012
Comandos         git diff         $ vim hello_world.php         <?php          echo ‘Hello world, na PHP Conference Brasil...
Comandos         git diff         $ git diffsábado, 15 de dezembro de 2012
Comandos         git diff         $ git diff         Output:         diff --git a/hello_world.php b/hello_world.php       ...
Comandos         git diff --word-diff         Visualiza o que foi modificado, diferenciando por palavrassábado, 15 de dezem...
Comandos         git diff --word-diff         $ git diff --word-diffsábado, 15 de dezembro de 2012
Comandos         git diff --word-diff         $ git diff --word-diff         Output:         diff --git a/hello_world.php ...
Comandos         git diff --cached         Visualiza o que foi modificado e está stagedsábado, 15 de dezembro de 2012
Comandos         git diff --cached         $ git add hello_world.php         $ git statussábado, 15 de dezembro de 2012
Comandos         git diff --cached         $ git add hello_world.php         $ git status         Output:         # On bra...
Comandos         git diff --cached         $ git diffsábado, 15 de dezembro de 2012
Comandos         git diff --cached         $ git diff         Output:sábado, 15 de dezembro de 2012
Comandos         git diff --cached         $ git diff --cachedsábado, 15 de dezembro de 2012
Comandos         git diff --cached         $ git diff --cached         Output:         diff --git a/hello_world.php b/hell...
Comandos         Commitando nossas alterações para continuarmos...         $ git commit -m "change hello world message"sáb...
Comandos         git commit -am         Envia de modified para commited diretamentesábado, 15 de dezembro de 2012
Comandos         git commit -am         $ vim hello_world.php         <?php          echo ‘Hello world, na PHP Conference ...
Comandos         git commit -am         $ git statussábado, 15 de dezembro de 2012
Comandos         git commit -am         $ git status         Output:         # On branch master         # Changes not stag...
Comandos         git commit -am         $ git commit -am "added date on hello world"sábado, 15 de dezembro de 2012
Comandos         git commit -am         $ git commit -am "added date on hello world"        Output:        [master 518bad1...
Comandos         git commit -am         $ git statussábado, 15 de dezembro de 2012
Comandos         git commit -am         $ git status        Output:        # On branch master        # Untracked files:   ...
Dica         Se o git não conhece ele não mexesábado, 15 de dezembro de 2012
Comandos         Editando e commitando o Readme para continuarmos...         $ vim Readme         $ git add Readme        ...
Comandos         git log         Exibe o histórico com infomações dos commitssábado, 15 de dezembro de 2012
Comandos         git log         $ git logsábado, 15 de dezembro de 2012
Comandos         git log         $ git log        Output:        commit a6aa0cb4d832a3a7c3a26001d89d8698e73790bb        Au...
Comandos         git log --oneline         Exibe o log em apenas uma linhasábado, 15 de dezembro de 2012
Comandos         git log --oneline         $ git log --onelinesábado, 15 de dezembro de 2012
Comandos         git log --oneline         $ git log --oneline        Output:        53bc92d Revert "added date on hello w...
Voltando no temposábado, 15 de dezembro de 2012
Voltando no tempo         git checkout <hash>         Volta para o commit informado em <hash>sábado, 15 de dezembro de 2012
Voltando no tempo         git checkout <hash>         $ git checkout bf3bd62sábado, 15 de dezembro de 2012
Voltando no tempo         git checkout <hash>      Hash do primeiro commit         $ git checkout bf3bd62sábado, 15 de dez...
Voltando no tempo         git checkout <hash>                               Hash do primeiro commit         $ git checkout...
Voltando no tempo         git checkout <hash>         $ ls         hello_world.php         $ cat hello_world.phpsábado, 15...
Voltando no tempo         git checkout <hash> De volta para o futuro         $ git checkout mastersábado, 15 de dezembro d...
Voltando no tempo         git checkout <hash> De volta para o futuro         $ git checkout master        Output:        P...
Voltando no tempo         git checkout <hash> De volta para o futuro         $ ls         Readme        hello_world.php   ...
Voltando no tempo         git revert <hash>         Reverte um commit criando um novosábado, 15 de dezembro de 2012
Voltando no tempo         git revert <hash>         $ git revert 518bad1sábado, 15 de dezembro de 2012
Voltando no tempo                                          Hash do         git revert <hash>            quarto commit.    ...
Voltando no tempo                                                               Hash do         git revert <hash>         ...
Voltando no tempo                                                               Hash do         git revert <hash>         ...
Voltando no tempo         git revert <hash>         $ cat hello_world.php         <?php          echo ‘Hello world, na PHP...
Dica         Commits pequenos e constantes         Boa mensagem de commit         Created model of User         Má mensage...
Voltando no tempo         git checkout <hash> <arquivo>         Recupera o arquivo do commit informadosábado, 15 de dezemb...
Voltando no tempo         git checkout <hash> <arquivo>         $ git checkout 83d672c hello_world.phpsábado, 15 de dezemb...
Voltando no tempo         git checkout <hash> <arquivo>         $ git checkout 83d672c hello_world.php                    ...
Voltando no tempo         git checkout <hash> <arquivo>         $ git statussábado, 15 de dezembro de 2012
Voltando no tempo         git checkout <hash> <arquivo>         $ git status        Output:        # On branch master     ...
Voltando no tempo         git checkout <hash> <arquivo>         $ git diff --cachedsábado, 15 de dezembro de 2012
Voltando no tempo         git checkout <hash> <arquivo>         $ git diff --cached        Output:        diff --git a/hel...
Voltando no tempo         git checkout .         Recupera todos os arquivos sobreescrevendo as mudanças locaissábado, 15 d...
Voltando no tempo         git checkout .         $ vim hello_world.php         $ vim Readmesábado, 15 de dezembro de 2012
Voltando no tempo         git checkout .         $ vim hello_world.php         $ vim Readmesábado, 15 de dezembro de 2012
Voltando no tempo         git checkout .         $ git statussábado, 15 de dezembro de 2012
Voltando no tempo         git checkout .         $ git status        Output:        # On branch master        # Changes no...
Voltando no tempo         git checkout .         $ git checkout .sábado, 15 de dezembro de 2012
Voltando no tempo         git checkout .         $ git statussábado, 15 de dezembro de 2012
Voltando no tempo         git checkout .         $ git status        Output:        # On branch master        nothing to c...
sábado, 15 de dezembro de 2012
Github                                                     23 de janeiro de 2005                                 vimeo.com...
Github                                                     19 de janeiro de 2009                                 vimeo.com...
Boleto PHP                        https://github.com/BielSystems/boletophp/sábado, 15 de dezembro de 2012
Boleto PHP                          https://github.com/BielSystems/boletophp/sábado, 15 de dezembro de 2012
Boleto PHPsábado, 15 de dezembro de 2012
Perguntas?sábado, 15 de dezembro de 2012
Obrigado!                                    @maurogeorge                                 maurogeorge.github.comsábado, 15...
Próximos SlideShares
Carregando em…5
×

Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012

716 visualizações

Publicada em

Apresentada em 30/11/12 na PHP Conference Brasil 2012. Na palestra você verá uma introdução aos sistemas de controle de versão, passando pelos modelos centralizado e distribuído. Um pouco da história do git, a instalação e GUIs para Mac, Linux e Windows. As configurações e o fluxo básico para o dia a dia. Além de alguns comandos e dicas que ajudarão no dia a dia com o git, inclusive para quem já usa o git no seu dia a dia

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
716
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
16
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012

  1. 1. Git para iniciantessábado, 15 de dezembro de 2012
  2. 2. Git para iniciantes 1.3.0sábado, 15 de dezembro de 2012
  3. 3. Mauro... quem?sábado, 15 de dezembro de 2012
  4. 4. Mauro... quem?sábado, 15 de dezembro de 2012
  5. 5. Mauro... quem?sábado, 15 de dezembro de 2012
  6. 6. sábado, 15 de dezembro de 2012
  7. 7. sábado, 15 de dezembro de 2012
  8. 8. Mauro George http://maurogeorge.github.com http://www.aprenderphp.com.br @maurogeorgesábado, 15 de dezembro de 2012
  9. 9. Sistemas de controle de versão VCS (Version control systems)sábado, 15 de dezembro de 2012
  10. 10. Pra que?sábado, 15 de dezembro de 2012
  11. 11. Pra que? Gerenciar diferentes versões de um arquivosábado, 15 de dezembro de 2012
  12. 12. Pra que? Guardar histórico de alterações de um arquivosábado, 15 de dezembro de 2012
  13. 13. Pra que? Saber quem fez e o porquê de cada alteraçãosábado, 15 de dezembro de 2012
  14. 14. Vantagenssábado, 15 de dezembro de 2012
  15. 15. Vantagens Backup automáticosábado, 15 de dezembro de 2012
  16. 16. Vantagens Controle do históricosábado, 15 de dezembro de 2012
  17. 17. Vantagens Trabalho em equipesábado, 15 de dezembro de 2012
  18. 18. Vantagens Marcação e resgate de versões estáveissábado, 15 de dezembro de 2012
  19. 19. Vantagens Ramificação do projetosábado, 15 de dezembro de 2012
  20. 20. Diferentes modelossábado, 15 de dezembro de 2012
  21. 21. Centralizadosábado, 15 de dezembro de 2012
  22. 22. Centralizado Necessita de um servidor centralsábado, 15 de dezembro de 2012
  23. 23. Centralizado O checkout é uma cópia da estrutura dos arquivos do repositóriosábado, 15 de dezembro de 2012
  24. 24. Centralizado Somente usuários autorizados podem fazer commitssábado, 15 de dezembro de 2012
  25. 25. Centralizadosábado, 15 de dezembro de 2012
  26. 26. Distribuídosábado, 15 de dezembro de 2012
  27. 27. Distribuído Cada cópia é um repositório com o histórico completosábado, 15 de dezembro de 2012
  28. 28. Distribuído Não necessita de acesso a rede ou um servidor centralsábado, 15 de dezembro de 2012
  29. 29. Distribuído Commits podem ser feitos offlinesábado, 15 de dezembro de 2012
  30. 30. Distribuído Commits podem ser facilmente transferidos entre repositóriossábado, 15 de dezembro de 2012
  31. 31. Distribuídosábado, 15 de dezembro de 2012
  32. 32. Distribuídosábado, 15 de dezembro de 2012
  33. 33. Pesquisasábado, 15 de dezembro de 2012
  34. 34. Pesquisa Utiliza: Nenhum Subversion Mercurial Git Outrosábado, 15 de dezembro de 2012
  35. 35. Gitsábado, 15 de dezembro de 2012
  36. 36. Git Open sourcesábado, 15 de dezembro de 2012
  37. 37. Git Desenvolvido originalmente por Linus Torvalds, com o objetivo de...sábado, 15 de dezembro de 2012
  38. 38. Git .. manter o Kernel do Linuxsábado, 15 de dezembro de 2012
  39. 39. Git “focado em velocidade, efetividade e usabilidade do mundo real em grandes projetos”sábado, 15 de dezembro de 2012
  40. 40. Instalaçãosábado, 15 de dezembro de 2012
  41. 41. Instalação Mac DMG http://code.google.com/p/git-osx-installer/downloads/list?can=3 Homebrew (mxcl.github.com/homebrew) $ brew install gitsábado, 15 de dezembro de 2012
  42. 42. Instalação Linux apt-get $ sudo apt-get install git-core git-gui git-docsábado, 15 de dezembro de 2012
  43. 43. Instalação Windows msysgit http://code.google.com/p/msysgit/downloads/list * Use Git Bash Only ** Checkout Windows-style, commit Unix-style line endingssábado, 15 de dezembro de 2012
  44. 44. GUIssábado, 15 de dezembro de 2012
  45. 45. GUIs Gitk para todas as plataformassábado, 15 de dezembro de 2012
  46. 46. GUIs GitX (L) para Mac http://gitx.laullon.com/ *GitX -> Enable Terminal Usagesábado, 15 de dezembro de 2012
  47. 47. GUIs Gitg para Linux Gerenciador de pacotessábado, 15 de dezembro de 2012
  48. 48. GUIs tortoisegit para Windows http://code.google.com/p/tortoisegit/sábado, 15 de dezembro de 2012
  49. 49. Primeiros passossábado, 15 de dezembro de 2012
  50. 50. Primeiros passos Configuração $ git config --global user.name "Mauro George" $ git config --global user.email "maurogot@gmail.com"sábado, 15 de dezembro de 2012
  51. 51. Primeiros passos Criando nosso projeto $ mkdir project $ cd project $ touch hello_world.phpsábado, 15 de dezembro de 2012
  52. 52. Primeiros passos Criando um repositório $ git initsábado, 15 de dezembro de 2012
  53. 53. Primeiros passos Criando um repositório $ git init Output: Initialized empty Git repository in /path/to/my/project/.git/sábado, 15 de dezembro de 2012
  54. 54. Primeiros passos Primeiro commit $ git add . $ git commit -m "first commit"sábado, 15 de dezembro de 2012
  55. 55. Primeiros passos Primeiro commit $ git add . $ git commit -m "first commit" Output: [master (root-commit) bf3bd62] first commit 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 hello_world.phpsábado, 15 de dezembro de 2012
  56. 56. Primeiros passos Primeiro commit $ git statussábado, 15 de dezembro de 2012
  57. 57. Primeiros passos Primeiro commit $ git status Output: # On branch master nothing to commit (working directory clean)sábado, 15 de dezembro de 2012
  58. 58. Fluxo básicosábado, 15 de dezembro de 2012
  59. 59. Fluxo básico Estado dos arquivos Untracked Modified Staged Commitedsábado, 15 de dezembro de 2012
  60. 60. Fluxo básico Estado dos arquivos Untracked Arquivos que o git não conhecesábado, 15 de dezembro de 2012
  61. 61. Fluxo básico Estado dos arquivos Untracked $ touch Readme $ git statussábado, 15 de dezembro de 2012
  62. 62. Fluxo básico Estado dos arquivos Untracked $ touch Readme $ git status Output: # On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # Readme nothing added to commit but untracked files present (use "git add" to track)sábado, 15 de dezembro de 2012
  63. 63. Fluxo básico Estado dos arquivos Modified Arquivos que o git já conhece e que foram alteradossábado, 15 de dezembro de 2012
  64. 64. Fluxo básico Estado dos arquivos Modified $ vim hello_world.php <?php echo Hello world; ?>sábado, 15 de dezembro de 2012
  65. 65. Fluxo básico Estado dos arquivos Modified $ git statussábado, 15 de dezembro de 2012
  66. 66. Fluxo básico Estado dos arquivos Modified Output: # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: hello_world.php # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # Readme no changes added to commit (use "git add" and/or "git commit -a")sábado, 15 de dezembro de 2012
  67. 67. Fluxo básico Estado dos arquivos Staged Arquivos que serão enviados para o repositóriosábado, 15 de dezembro de 2012
  68. 68. Fluxo básico Estado dos arquivos Staged $ git add hello_world.php $ git statussábado, 15 de dezembro de 2012
  69. 69. Fluxo básico Estado dos arquivos Staged $ git add hello_world.php $ git status Output: # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: hello_world.php # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # Readmesábado, 15 de dezembro de 2012
  70. 70. Fluxo básico Estado dos arquivos Commited Arquivos que já estão no repositório gitsábado, 15 de dezembro de 2012
  71. 71. Fluxo básico Estado dos arquivos Commited $ git commit -m "showing hello world"sábado, 15 de dezembro de 2012
  72. 72. Fluxo básico Estado dos arquivos Commited $ git commit -m "showing hello world" Output: [master 83d672c] showing hello world 1 files changed, 3 insertions(+), 0 deletions(-)sábado, 15 de dezembro de 2012
  73. 73. Fluxo básico Estado dos arquivos Commited $ git statussábado, 15 de dezembro de 2012
  74. 74. Fluxo básico Estado dos arquivos Commited $ git status Output: # On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # Readme nothing added to commit but untracked files present (use "git add" to track)sábado, 15 de dezembro de 2012
  75. 75. Dica Colorindo o output $ git config --global color.ui truesábado, 15 de dezembro de 2012
  76. 76. Fluxo básico Resumo Editar os arquivos Vim / emacs / textmate / etc Colocar os arquivos em staged git add nome do arquivo Verificar as mudanças git status git commit -m “mensagem do Fazer o commit das mudanças commit”sábado, 15 de dezembro de 2012
  77. 77. Dica Sempre leia as mensagens do Git Output: # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: hello_world.php # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # Readmesábado, 15 de dezembro de 2012
  78. 78. Comandossábado, 15 de dezembro de 2012
  79. 79. Comandos git diff Visualiza o que foi modificadosábado, 15 de dezembro de 2012
  80. 80. Comandos git diff $ vim hello_world.php <?php echo ‘Hello world, na PHP Conference Brasil 2012’; ?>sábado, 15 de dezembro de 2012
  81. 81. Comandos git diff $ git diffsábado, 15 de dezembro de 2012
  82. 82. Comandos git diff $ git diff Output: diff --git a/hello_world.php b/hello_world.php index fe71dc6..04beafa 100644 --- a/hello_world.php +++ b/hello_world.php @@ -1,3 +1,3 @@ <?php - echo Hello world; + echo ‘Hello world, na PHP Conference Brasil 2012’; ?> No newline at end of filesábado, 15 de dezembro de 2012
  83. 83. Comandos git diff --word-diff Visualiza o que foi modificado, diferenciando por palavrassábado, 15 de dezembro de 2012
  84. 84. Comandos git diff --word-diff $ git diff --word-diffsábado, 15 de dezembro de 2012
  85. 85. Comandos git diff --word-diff $ git diff --word-diff Output: diff --git a/hello_world.php b/hello_world.php index fe71dc6..04beafa 100644 --- a/hello_world.php +++ b/hello_world.php @@ -1,3 +1,3 @@ <?php echo ‘Hello [-world’;-]{+world, na PHP Conference Brasil 2012”;+} ?> No newline at end of filesábado, 15 de dezembro de 2012
  86. 86. Comandos git diff --cached Visualiza o que foi modificado e está stagedsábado, 15 de dezembro de 2012
  87. 87. Comandos git diff --cached $ git add hello_world.php $ git statussábado, 15 de dezembro de 2012
  88. 88. Comandos git diff --cached $ git add hello_world.php $ git status Output: # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: hello_world.php # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # Readmesábado, 15 de dezembro de 2012
  89. 89. Comandos git diff --cached $ git diffsábado, 15 de dezembro de 2012
  90. 90. Comandos git diff --cached $ git diff Output:sábado, 15 de dezembro de 2012
  91. 91. Comandos git diff --cached $ git diff --cachedsábado, 15 de dezembro de 2012
  92. 92. Comandos git diff --cached $ git diff --cached Output: diff --git a/hello_world.php b/hello_world.php index fe71dc6..04beafa 100644 --- a/hello_world.php +++ b/hello_world.php @@ -1,3 +1,3 @@ <?php - echo Hello world; + echo Hello world, na PHP Conference Brasil 2012 ; ?> No newline at end of filesábado, 15 de dezembro de 2012
  93. 93. Comandos Commitando nossas alterações para continuarmos... $ git commit -m "change hello world message"sábado, 15 de dezembro de 2012
  94. 94. Comandos git commit -am Envia de modified para commited diretamentesábado, 15 de dezembro de 2012
  95. 95. Comandos git commit -am $ vim hello_world.php <?php echo ‘Hello world, na PHP Conference Brasil 2012 em 30/11/2012’; ?>sábado, 15 de dezembro de 2012
  96. 96. Comandos git commit -am $ git statussábado, 15 de dezembro de 2012
  97. 97. Comandos git commit -am $ git status Output: # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: hello_world.php # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # Readme no changes added to commit (use "git add" and/or "git commit -a")sábado, 15 de dezembro de 2012
  98. 98. Comandos git commit -am $ git commit -am "added date on hello world"sábado, 15 de dezembro de 2012
  99. 99. Comandos git commit -am $ git commit -am "added date on hello world" Output: [master 518bad1] added date on hello world 1 files changed, 1 insertions(+), 1 deletions(-)sábado, 15 de dezembro de 2012
  100. 100. Comandos git commit -am $ git statussábado, 15 de dezembro de 2012
  101. 101. Comandos git commit -am $ git status Output: # On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # Readme nothing added to commit but untracked files present (use "git add" to track)sábado, 15 de dezembro de 2012
  102. 102. Dica Se o git não conhece ele não mexesábado, 15 de dezembro de 2012
  103. 103. Comandos Editando e commitando o Readme para continuarmos... $ vim Readme $ git add Readme $ git commit -m "added readme"sábado, 15 de dezembro de 2012
  104. 104. Comandos git log Exibe o histórico com infomações dos commitssábado, 15 de dezembro de 2012
  105. 105. Comandos git log $ git logsábado, 15 de dezembro de 2012
  106. 106. Comandos git log $ git log Output: commit a6aa0cb4d832a3a7c3a26001d89d8698e73790bb Author: Mauro George <maurogot@gmail.com> Date: Fri Jan 20 15:59:33 2012 -0200 added readme commit 518bad17f1bc064f4d542683925ae9f1003609bd Author: Mauro George <maurogot@gmail.com> Date: Fri Jan 20 15:27:07 2012 -0200 added date on hello worldsábado, 15 de dezembro de 2012
  107. 107. Comandos git log --oneline Exibe o log em apenas uma linhasábado, 15 de dezembro de 2012
  108. 108. Comandos git log --oneline $ git log --onelinesábado, 15 de dezembro de 2012
  109. 109. Comandos git log --oneline $ git log --oneline Output: 53bc92d Revert "added date on hello world" a6aa0cb added readme 518bad1 added date on hello world 0e1b665 change hello world message 83d672c showing hello world bf3bd62 first commitsábado, 15 de dezembro de 2012
  110. 110. Voltando no temposábado, 15 de dezembro de 2012
  111. 111. Voltando no tempo git checkout <hash> Volta para o commit informado em <hash>sábado, 15 de dezembro de 2012
  112. 112. Voltando no tempo git checkout <hash> $ git checkout bf3bd62sábado, 15 de dezembro de 2012
  113. 113. Voltando no tempo git checkout <hash> Hash do primeiro commit $ git checkout bf3bd62sábado, 15 de dezembro de 2012
  114. 114. Voltando no tempo git checkout <hash> Hash do primeiro commit $ git checkout bf3bd62 Output: Note: checking out bf3bd62. You are in detached HEAD state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at bf3bd62... first commitsábado, 15 de dezembro de 2012
  115. 115. Voltando no tempo git checkout <hash> $ ls hello_world.php $ cat hello_world.phpsábado, 15 de dezembro de 2012
  116. 116. Voltando no tempo git checkout <hash> De volta para o futuro $ git checkout mastersábado, 15 de dezembro de 2012
  117. 117. Voltando no tempo git checkout <hash> De volta para o futuro $ git checkout master Output: Previous HEAD position was bf3bd62... first commit Switched to branch mastersábado, 15 de dezembro de 2012
  118. 118. Voltando no tempo git checkout <hash> De volta para o futuro $ ls Readme hello_world.php $ cat hello_world.php <?php echo ‘Hello world, na PHP Conference Brasil 2012 em 30/11/2012’; ?>sábado, 15 de dezembro de 2012
  119. 119. Voltando no tempo git revert <hash> Reverte um commit criando um novosábado, 15 de dezembro de 2012
  120. 120. Voltando no tempo git revert <hash> $ git revert 518bad1sábado, 15 de dezembro de 2012
  121. 121. Voltando no tempo Hash do git revert <hash> quarto commit. $ git revert 518bad1 Em que foi adicionada a datasábado, 15 de dezembro de 2012
  122. 122. Voltando no tempo Hash do git revert <hash> quarto commit. $ git revert 518bad1 Em que foi adicionada a data Output: [master 53bc92d] Revert "added date on hello world" 1 files changed, 1 insertions(+), 1 deletions(-)sábado, 15 de dezembro de 2012
  123. 123. Voltando no tempo Hash do git revert <hash> quarto commit. $ git revert 518bad1 Em que foi adicionada a data * Será solicitado para digitar uma mensagem do commit, mantenha a padrão por convenção Output: [master 53bc92d] Revert "added date on hello world" 1 files changed, 1 insertions(+), 1 deletions(-)sábado, 15 de dezembro de 2012
  124. 124. Voltando no tempo git revert <hash> $ cat hello_world.php <?php echo ‘Hello world, na PHP Conference Brasil 2012’; ?>sábado, 15 de dezembro de 2012
  125. 125. Dica Commits pequenos e constantes Boa mensagem de commit Created model of User Má mensagem de commit Created model of User, Post and Comments and added template filessábado, 15 de dezembro de 2012
  126. 126. Voltando no tempo git checkout <hash> <arquivo> Recupera o arquivo do commit informadosábado, 15 de dezembro de 2012
  127. 127. Voltando no tempo git checkout <hash> <arquivo> $ git checkout 83d672c hello_world.phpsábado, 15 de dezembro de 2012
  128. 128. Voltando no tempo git checkout <hash> <arquivo> $ git checkout 83d672c hello_world.php Hash do segundo commit. Em que foi criada a mensagemsábado, 15 de dezembro de 2012
  129. 129. Voltando no tempo git checkout <hash> <arquivo> $ git statussábado, 15 de dezembro de 2012
  130. 130. Voltando no tempo git checkout <hash> <arquivo> $ git status Output: # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: hello_world.php #sábado, 15 de dezembro de 2012
  131. 131. Voltando no tempo git checkout <hash> <arquivo> $ git diff --cachedsábado, 15 de dezembro de 2012
  132. 132. Voltando no tempo git checkout <hash> <arquivo> $ git diff --cached Output: diff --git a/hello_world.php b/hello_world.php index 04beafa..fe71dc6 100644 --- a/hello_world.php +++ b/hello_world.php @@ -1,3 +1,3 @@ <?php - echo ‘Hello world, na PHP Conference Brasil 2012’; + echo Hello world; ?> No newline at end of filesábado, 15 de dezembro de 2012
  133. 133. Voltando no tempo git checkout . Recupera todos os arquivos sobreescrevendo as mudanças locaissábado, 15 de dezembro de 2012
  134. 134. Voltando no tempo git checkout . $ vim hello_world.php $ vim Readmesábado, 15 de dezembro de 2012
  135. 135. Voltando no tempo git checkout . $ vim hello_world.php $ vim Readmesábado, 15 de dezembro de 2012
  136. 136. Voltando no tempo git checkout . $ git statussábado, 15 de dezembro de 2012
  137. 137. Voltando no tempo git checkout . $ git status Output: # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: Readme # modified: hello_world.php # no changes added to commit (use "git add" and/or "git commit -a")sábado, 15 de dezembro de 2012
  138. 138. Voltando no tempo git checkout . $ git checkout .sábado, 15 de dezembro de 2012
  139. 139. Voltando no tempo git checkout . $ git statussábado, 15 de dezembro de 2012
  140. 140. Voltando no tempo git checkout . $ git status Output: # On branch master nothing to commit (working directory clean)sábado, 15 de dezembro de 2012
  141. 141. sábado, 15 de dezembro de 2012
  142. 142. Github 23 de janeiro de 2005 vimeo.com/2979844sábado, 15 de dezembro de 2012
  143. 143. Github 19 de janeiro de 2009 vimeo.com/2979844sábado, 15 de dezembro de 2012
  144. 144. Boleto PHP https://github.com/BielSystems/boletophp/sábado, 15 de dezembro de 2012
  145. 145. Boleto PHP https://github.com/BielSystems/boletophp/sábado, 15 de dezembro de 2012
  146. 146. Boleto PHPsábado, 15 de dezembro de 2012
  147. 147. Perguntas?sábado, 15 de dezembro de 2012
  148. 148. Obrigado! @maurogeorge maurogeorge.github.comsábado, 15 de dezembro de 2012

×