commit stores away all this history, what can we do with it?
Check how far we have come! Take a look at your repository’s history of commits:
git log git log --oneline
When a long text display fills the terminal window, navigate up and down using the arrow keys or Page Down key. To exit the display, type
We can compare files with the history. Modify one of the file in your repository using a text editor or the command line.
echo "more important notes!" >> notes.txt git status git diff git diff notes.txt git add notes.txt git diff git commit -m "testing diff" git diff
diff allows us to see what changes were made to the currently unstaged files.
It’s best to check this before you commit to ensure you know what you are changing.
Many text editors have a diff visualization built in, which is very handy!
Wait that last commit was no good! How can we undo?
Let’s get the earlier version back with
You can track individual commits using their id given by
Or we can refer to them sequentially.
The most recent commit is called
One back is called
HEAD~1 (“head minus one”), and so on.
git checkout a specific file, it will reset it to the specified commit in your working directory.
git checkout HEAD~1 notes.txt git status git diff HEAD notes.txt git checkout HEAD notes.txt git status
Those two checkouts undid each other!
If you want to save the undo, remember to
Using this method ensures that we have a record of what was undone, just in case you want to undo your undo.
git checkout HEAD~1 notes.txt git status git add notes.txt git commit -m "undo notes changes"
if you get ‘detached HEAD’ warning, type
git checkout master