Your comments

Just like the Visual Studio Code remote development mode.

Split SmartGit into a server and a GUI client. All operations are performed on the server. And a GUI client can choose to connect to a local/remote server. That'll do it.

I would love Merge Request integration.

The GitLab Flow is described here: https://about.gitlab.com/2014/09/29/gitlab-flow/