Conhecendo o basico do comando git stash
Posted on Sat 16 April 2022 in DevOps • 2 min read
Diversas vezes quando esta trabalhando em uma parte do seu projeto e precisa
mudar de branch por um tempo para trabalhar em outro codigo voce pode se encontrar em
um problema, não fazer o commit por um trabalho incompleto para continuar
depois.
A resposta para esse problema é git stash
Nesse post, vamos abordar de forma superficial a utilização desse comando
Fazendo o Stash
Após algumas alterações no seu projeto, se você executar git status
vai
receber uma saida similar a essa:
$ git status
On branch main
Your branch is up to date with 'origin/main'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: Dockerfile
no changes added to commit (use "git add" and/or "git commit -a")
Agora você precisa mudar de branch, mas não vai enviar a alteração do que esta
trabalhando, incluindo os arquivos que não estão rastreados. Vamos fazer um stash
$ git stash push --include-untracked
Saved working directory and index state WIP on main: 44cfadb Create function
Pronto, temos o nosso trabalho salvo na pilha stash e podemos navegar entre as branches sem preocupação. Para ver a pilha salva no stash, basta executar o git stash list e a saida sera similar a essa:
$ git stash list
stash@{0}: WIP on main: 44cfadb Create function
Caso queira ver os arquivos que estão na pilha, basta executar git stash
show
$ git stash show
Dockerfile | 1 +
1 file changed, 1 insertion(+)
Caso queira exibir os arquivos não rastreados, o comando é esse abaixo:
$ git show 'stash@{0}^3'
untracked files on main: 44cfadb Create function
diff --git a/script.sh b/script.sh
new file mode 100644
index 0000000..bc1ea2f
--- /dev/null
+++ b/script.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+[[ -z $1 ]]; echo $ERR
Para trazer os arquivos da nossa pilha, temos dois caminhos.
O primeiro, mais simples e direto, é executar o comando git stash pop
, o
stash será aplicado e apagado da pilha.
O segundo, é executar o git stash apply
, ele tenta somente aplicar o stash e
não remove da pilha, para remover será necessario aplicar o comando git
stash drop
com o nome do stash que deseja remover.
Esse foi uma pequena explicação de como utilizar o comando stash.
Simples assim 😆