# You can always retrieve stashed changes using `git stash`
git stash # To add changes to stash stack
git stash list # Shows list of stashed changes
git stash apply stash@{0} # Retrieve stash
git stash clear # Clear stash list
git stash list [<log-options>]
git stash show [-u|--include-untracked|--only-untracked] [<diff-options>] [<stash>]
git stash drop [-q|--quiet] [<stash>]
git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]
git stash branch <branchname> [<stash>]
git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
[-u|--include-untracked] [-a|--all] [-m|--message <message>]
[--pathspec-from-file=<file> [--pathspec-file-nul]]
[--] [<pathspec>…]]
git stash clear
git stash create [<message>]
git stash store [-m|--message <message>] [-q|--quiet] <commit>
git stash save "Stash message for reference" #To add changes to stash stack
git stash list #Shows all the stashed change list
git stash clear #clears stash list
To apply the stash changes :
a) git stash apply stash @{n}
you can reapply the changes to your working copy and keep them in your stash with git stash apply
b) git stash pop stash@{n}
-> Popping your stash removes the changes from your stash and reapplies them to your working copy
n - stash number to be applied #Applying stash changes
git stash -u -u optiontells git stash to also stash your untracked files
git stash drop stash@{1} #Cleaning up your stash
# List of git stash commands
git stash save "optional message for yourself" # Stash a copy of your current changes
git stash list # Show list of stashed changes
git stash show -p STASH-NAME # Preview changes that would occur when applying stash
git stash apply STASH-NAME # Apply changes and leaves a copy in the stash
git stash pop STASH-NAME # Apply changes and removes from stash
git stash drop STASH-NAME # Delete a particular saved item
git stash clear # Clear everything from stash
git stash:
Saved working directory and index state WIP on main: 491e3b27 New Import Files
To check stash list:
git stash list
To get back all previous changes, you have two options to reapply your stash:
git stash pop - Restore back to the saved state, but it deletes the stash from the temporary storage.
git stash apply - Restore back to the saved state and leaves the stash list for possible later reuse.
git stash push -m "my_stash_name"
git stash list
git stash pop stash@{n} //for nth stash
git stash pop stash^{/my_stash_name} #for stash name
git stash apply stash@{n} // apply to only apply and not remove stashex.(ex. pop removes stash)
git stash apply stash^{/my_stash_name}
git stash drop
$ git stash list
stash@{0}: WIP on master: 049d078 Create index file
stash@{1}: WIP on master: c264051 Revert "Add file_size"
stash@{2}: WIP on master: 21d80a5 Add number to log
$ git stash list
stash@{0}: WIP on master: 049d078 added the index file
stash@{1}: WIP on master: c264051 Revert "added file_size"
stash@{2}: WIP on master: 21d80a5 added number to log
//to restrict file to add for commit
git stash pathOfFile
$ git status On branch master Changes to be committed: new file: style.css Changes not staged for commit: modified: index.html $ git stash Saved working directory and index state WIP on master: 5002d47 our new homepage HEAD is now at 5002d47 our new homepage $ git status On branch master nothing to commit, working tree clean