Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Explorando o Comando Git Stash

Explorando o Comando Git Stash

O Git stash é uma funcionalidade que permite guardar as alterações de seu diretório de trabalho e o seu entendimento é importante para ajudar no seu workflow de desenvolvimento.

52711e2157a6fed933b0361cc06a6953?s=128

Marcel dos Santos

November 30, 2017
Tweet

Transcript

  1. Marcel Gonçalves dos Santos @marcelgsantos comando explorando o git stash

  2. pensandonaweb.com.br desenvolvedor web full-stack Marcel Gonçalves dos Santos @marcelgsantos

  3. None
  4. @phpsp phpsp.org.br

  5. @femugsp sp.femug.com

  6. Para que serve o comando git stash?

  7. você está trabalhando em um projeto

  8. None
  9. você está implementando uma nova funcionalidade

  10. implementando nova funcionalidade

  11. e existem alterações no seu diretório de trabalho

  12. None
  13. suas alterações não estão prontas para um commit

  14. mas não são irrelevantes para serem descartadas

  15. O que fazer?

  16. adicione suas alterações no stash

  17. Como utilizar o comando git stash?

  18. $ git stash

  19. armazena temporariamente as alterações realizadas no seu diretório de trabalho

  20. branch e commit work in progress

  21. $ git stash list

  22. lista os stashes criados

  23. None
  24. $ git status

  25. None
  26. o git stash não adiciona arquivos não rastreados no stash

    por padrão
  27. $ git stash apply $ git stash apply stash@{0}

  28. aplica o último stash criado ou um stash específico

  29. None
  30. a área de staging não é mantida

  31. None
  32. o comando stash apply não remove o stash

  33. $ git stash list

  34. None
  35. $ git stash drop

  36. None
  37. Conhecendo mais alguns comandos

  38. None
  39. $ git stash save “message”

  40. mensagem

  41. é uma boa prática adicionar uma descrição ao adicionar alterações

    no stash
  42. $ git status

  43. None
  44. $ git stash list

  45. None
  46. $ git stash pop $ git stash pop —index

  47. o comando git stash pop aplica e remove o último

    stash
  48. o parâmetro —index permite manter a área de staging

  49. removeu o stash da lista mantém a staging area

  50. removeu o stash da lista

  51. Outra abordagem

  52. None
  53. $ git stash save -u “message”

  54. None
  55. o parâmetro -u permite adicionar arquivos não rastreados no stash

  56. $ git status

  57. None
  58. $ git stash list

  59. None
  60. Um pouco mais de comandos

  61. $ git stash show $ git stash show stash@{0} $

    git stash show -p
  62. mostra o conteúdo do último stash criado ou um stash

    específico
  63. None
  64. None
  65. os stashes são codificados como objetos de commit

  66. como o stash trata-se de um commit, ele pode ser

    inspecionado utilizando o comando git log
  67. $ git log —oneline

  68. None
  69. None
  70. $ git log —oneline —graph stash@{0}

  71. None
  72. None
  73. é possível realizar um stash parcial

  74. $ git stash -p

  75. caso as alterações no branch divirjam das do stash, ao

    aplicar o stash pode ocorrer conflitos
  76. pode-se criar um branch para aplicar um stash

  77. $ git stash branch my-feature stash@{0}

  78. pode-se apagar um stash específico

  79. $ git stash drop stash@{1}

  80. pode-se apagar todos os stashes

  81. $ git stash clean

  82. Conclusões

  83. não utilize um commit para limpar a sua área de

    trabalho…
  84. …ou para ter algo no repositório após um dia de

    trabalho
  85. utilize o comando git stash para isso

  86. Referências

  87. bit.ly/referencias-git-stash

  88. Avalie!

  89. Perguntas?

  90. Obrigado. @marcelgsantos speakerdeck.com/marcelgsantos