-*- mode: org; fill-column: 78 -*-
Put your cursor at the end of the following line and hit `C-x C-e’
(global-set-key [(control ?x) ?g] ‘magit-status)
Invoke in a subdirectory of the project to show that it finds the .git directory
Header area
Revert an unstaged change
Use a good description
Does not affect the index (?)
Note used for cherry-picking
Copy SHA as kill with C-w
Cover cherry-picking later
(customize-save-variable ‘magit-remote-ref-format ‘remote-slash-branch
“Otherwise, magit uses a funky `branch-name (remote-name)’ syntax”)
(customize-save-variable ‘magit-process-popup-time 2
“If Git is taking more than a couple seconds, show me what’s happening”)
`b c’ to check out a different branch (show autocomplete)
note offer to create local tracking branch
`b B’ to create a new branch, “experiment”
merge experiment into master with m
show the merge in the log
show how changes are left as dirty files
Show that all the usual keystrokes apply
Alex does a lot with `a’ and `A’ here, but the obvious thing would be to use `X’ to get back the commit you just reverted.
Set up repos foobar, foobar2 with a common remote
consider using a local remote
Stage and commit a new file in foobar
Show that it’s called out as “unpushed”
What is the “current” remote?
Three new files, three separate commits
Just amend the last commit
Then in 2 separate commits, modify the other 2 files
apply all the commits to make it look like each file is only touched once
Note the stacked commit messages
r f to finish the rewrite
rewrite topic branch history on master
someone changes remote master
rebase master on latest remote
Selecting changes for commit (incl hunks)
Topic Branches!! (note topgit)
Log view (including log-all)