1. Home
  2. Git
  3. Git Tutorial
  4. Git – Stash Changes

Git Stash Changes

This option used to stash the changes in the current working directory away.


git stash [option]


Check the current status of files in your project using git status command. Below output showing that one file is modified and 2 files are newly added.

[email protected]:/app$ git status -s 

 M users.txt
?? config.php
?? login.html

Run git stash in your project. This will current working directory and index state. You can again run git status and you will find that the modified file is missing from the list.

[email protected]:/app$ git stash 

Saved working directory and index state WIP on master: b62a88d Update README.md
HEAD is now at b62a88d Update README.md

[email protected]:/app$ git status -s 

?? config.php
?? login.html

let’s recover your stashed files in your project. First, check the list if stash with there id. Now run “git stash pop” to restore last stashed version.

[email protected]:/app$ git stash list 
[email protected]{0}: WIP on master: b62a88d Update README.md

[email protected]:/app$  git stash pop 
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

        modified:   users.txt

Untracked files:
  (use "git add ..." to include in what will be committed)


no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/[email protected]{0} (603dc621aae197d6c2c62d2e63a68f283edfb88a)

Again check the status, you will find the modified file is again showing in list.

[email protected]:/app$ git status -s 
 M users.txt
?? config.php
?? login.html
Tags , ,
Was this article helpful to you? Yes 3 No