git checkout main
git checkout -b squash-branch
git merge --squash [branch-to-rebase]
At this point I usually git diff the two branches as a sanity check before merging back into main: git diff [branch-to-rebase]
git checkout main
git merge squash-branch
I am normally able to squash rebase 99% of the time using git rebase -i main, but doing a git merge --squash into a temp branch has saved me a lot of hassle over the years. #!/bin/bash
# myscript.sh
venv/bin/python3 myscript.py
You could also skip the shell script and use aliases in your .bashrc. nnoremap <C-j> 4<C-d>
nnoremap <C-k> 4<C-u>
vnoremap <C-j> 4<C-d>
vnoremap <C-k> 4<C-u>
I set it to scroll 4 lines at a time but you can tweak the number to make it scroll faster or slower. nnoremap <silent> <C-l> :nohl<CR><C-l>
I know you mention it already in the article but it is really worth trying out. You even get more tenting angles that would previously be impossible without it. And it just makes the whole thing a lot sturdier.