GitButler is a Git client that lets you work on multiple branches at the same time. It allows you to quickly organize changes into separate branches while still having them applied to your working directory. Then push your branches to GitHub and create PRs.
This is something I needed from the beginning of my dev career. It was overwhelming at first, and it's still a little after 3 days of usage, to be honest. I use it, but most of the time, I go by hunch that it's doing what I need. Tutorials for Different Scenarios will be appreciated. One feature I'd like to have is the ability to wipe out traces of GitButler from the local repo. I tried "Remove Project" from the settings but that's not clearing/resetting butler branches.