Using tig to cherry-pick across branches
If you know my dev style, you know that I love
tig. For the past few years I’ve used it almost exclusively for one thing: staging/unstaging individual lines or chunks of code. For this task,
tig is without peer. It is so good at it that I neglected, for years, to explore the other features of
tig more fully.
Today I learned that it’s possible to
git cherry-pick commits across branches entirely in one session. To do this, first run
tig (I sometimes do this inside of
<Leader>g :Te<CR>:term tig<CR> - this opens
tig in a terminal nested inside of an
nvim session). This will open the main view, which shows the commits for the currently checked out branch, in all it’s DAG goodness. Pressing
r at this point will bring up the references view.
A git reference is a pointer to a git commit. Branches are references - human readable names that, while the name itself is static, point to...
Continue reading →