mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-23 09:41:36 +00:00
Added 'git stash'!
This commit is contained in:
parent
8d76e20278
commit
3a8b9f0fc5
@ -334,6 +334,55 @@ $ git push -u origin master
|
||||
$ 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)
|
||||
|
||||
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/)
|
||||
|
||||
* [Git - the simple guide](http://rogerdudler.github.io/git-guide/index.html)
|
||||
* [Git - the simple guide](http://rogerdudler.github.io/git-guide/index.html)
|
||||
|
Loading…
Reference in New Issue
Block a user