Using Git

From Apertium
Revision as of 17:45, 18 January 2014 by Unhammer (talk | contribs)
Jump to navigation Jump to search

Here's a very nice intro to git: http://try.github.com/

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.)