Difference between revisions of "Using Git"
(git stash is probably the simplest) |
|||
Line 3: | Line 3: | ||
git stash |
git stash |
||
</pre> |
</pre> |
||
If you've added new files to be committed, the're "unadded" (but not deleted); if you've made changes to tracked files, the changes are removed so they look like what they were in the last commit. (Bonus point: removed |
If you've added new files to be committed, the're "unadded" (but not deleted); if you've made changes to tracked files, the changes are removed so they look like what they were in the last commit. (Bonus point: changes removed with stash can be re-added if you change your mind with <code>git stash pop</code>.) |
||
This only works on ''all'' changes (you can't stash a specific file). |
This only works on ''all'' changes (you can't stash a specific file). |
Revision as of 06:26, 4 October 2013
Removing/undoing all changes since the last commit
git stash
If you've added new files to be committed, the're "unadded" (but not deleted); if you've made changes to tracked files, the changes are removed so they look like what they were in the last commit. (Bonus point: changes removed with stash can be re-added if you change your mind with git stash pop
.)
This only works on all changes (you can't stash a specific file).
Removing/undoing your changes to a certain file / path
git checkout -- <path>
If "path" is ".", you undo all your changes to version controlled files in that directory and sub-directories:
git checkout -- .
If you've first done git add
(to "stage your changes", so some file is listed under Changes to be committed
), you first need to do git reset
to unstage the changes, then checkout in case you had changes to files already tracked. So to do that for the whole dir:
git reset HEAD . git checkout -- .
Merge conflict: Throw away local changes
git checkout master <path> git commit git merge master
(The last command should now do nothing, just say you're fully merged.)