I'm surprised git UIs have lock-in power. Of all my development constraints, git is the last place I would have expected to find resistance switching OSs.
But then again, I could never do things in tower as fast as I could on the command line, so I dropped it fairly fast. It's not super useful replacement without an interactive rebase. Nice for viewing history, though.
No, OS X has Git, that's the equivalent. I actually don't know Free BSD well enough to say for BSD, but for Linux for example I'd say it's Sourcetree or SmartGit.
Your getting hung up on the Tower example, Tower is far from the only example of OS X applications having a smoother UI than nix. I always felt it comes down to a culture issue, nix users don't mind the lack of polished GUIs if there's a command line tool (which you're so continently demonstrating)
I had always assumed that SourceTree was a portable Qt app (it looks like it, doesn't it?), but it's only available on macOS and Windows.
Tower and GitUp are a huge lock-in into macOS for me. Tower for line-by-line staging/discarding, GitUp for minor history fix-ups (editing a commit message without remembering the CLI command, etc.).
For what it's worth, git add, git checkout, and git reset all take the -p (or --patch) option, which allows selection of sub-sections of files to stage, discard, or unstage, respectively.
But then again, I could never do things in tower as fast as I could on the command line, so I dropped it fairly fast. It's not super useful replacement without an interactive rebase. Nice for viewing history, though.