I've used these for years (found here)
git ribbon
to mark latest main you've reviewed (like a ribbon in a journal)git catchup
to review diff since then. (then git ribbon after reviewing, so it's ready for tomorrow.)
In your ~/.gitconfig
, [aliases]
section:
ribbon = tag --force _ribbon origin/main
catchup = log --patch --reverse --topo-order _ribbon..origin/main ':(exclude)build/*' ':(exclude)../build/*'
🟢 The flags include --reverse --topo-order
so it'll show in order from oldest to newest (much easier to review that way).
🟣 The last part (':(exclude)build/*' ':(exclude)../build/*'
) is optional, just helps in a repo I keep up with where they commit the latest release's build artifacts in a directory called build
at the repository root. I'm usually invoking this command from one level down, hence the ../
part.
This works best with delta
, a really good diff viewer with syntax highlighting:
https://github.com/dandavison/delta
(You just do brew install git-delta
(or equivalent for another package manager, it's widely available), then a couple changes to ~/.gitconfig
as shown in its README, to configure it as the default diff viewer.)