It seems with the git command line the way to do it is to switch to main then pull then switch back to my feature branch then rebase.
With lazygit i hit f on the main branch which pulls its changes then i can rebase (r) right away.
I also like to review the diff of each file before staging it. I get a nice list of changed files, i can select one and see the diff in it, then I can stage it.