Added 'git stash'!

This commit is contained in:
LOZORD 2014-11-24 19:32:40 -06:00
parent 8d76e20278
commit 3a8b9f0fc5

View File

@ -334,6 +334,55 @@ $ git push -u origin master
$ git push $ git push
``` ```
### stash
Stashing takes the dirty state of your working directory and saves it on a
stack of unfinished changes that you can reapply at any time.
```bash
# Let's say you've been doing some work in your git repo, but you want to pull from the remote.
# Since you have dirty (uncommited) changes to some files, you are not able to run 'git pull'.
# Instead, you can run 'git stash' to save your changes onto a stack!
$ git stash
Saved working directory and index state \
"WIP on master: 049d078 added the index file"
HEAD is now at 049d078 added the index file
(To restore them type "git stash apply")
# Now you can pull!
git pull
# ...changes apply...
# Now check that everything is OK
$ git status
# On branch master
nothing to commit, working directory clean
# You can see what 'hunks' you've stashed so far:
# Since the 'hunks' are stored in a Last-In-First-Out stack
# our most recent change will be at top
$ 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
# Now let's apply our dirty changes back by popping them off the stack
# 'git stash apply' also works too
$ git stash pop
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
#
# modified: index.html
# modified: lib/simplegit.rb
#
# Now you're good to go!
[Additional Reading.](http://git-scm.com/book/en/v1/Git-Tools-Stashing)
### rebase (caution) ### rebase (caution)
Take all changes that were committed on one branch, and replay them onto another branch. Take all changes that were committed on one branch, and replay them onto another branch.
@ -396,4 +445,4 @@ $ git rm /pather/to/the/file/HelloWorld.c
* [GitGuys](http://www.gitguys.com/) * [GitGuys](http://www.gitguys.com/)
* [Git - the simple guide](http://rogerdudler.github.io/git-guide/index.html) * [Git - the simple guide](http://rogerdudler.github.io/git-guide/index.html)