I am new to git and gitlab. Am I understanding correctly that any function dealing with the local repository must be done via the command line? In other words, there is no way to do local commits via Gitlab, and as such it has this sort of dual modality switching between the command line and the web gui for local vs. remote work?
No. Gitlab does not contain git client so it is necessary to install your own git client tool. There’s a gui tool such as listed in the following page. Still, it’s necessary to switch between these tool and web gui but most developers only needs to use git client tool to push to gitlab - gitlab web ui is only necessary to do gitlab maintenance like creating new projects and adding users.
Another solution is to use a bot.