Scrap the thing entirely and replace it with something that uses intuitive metaphors like "save", "load", "undo", "go back to old version", "update my work with work from colleague", "update the official state with my work" and others. Folders instead of branches. Be 100% language-aware; any merge result has to build obviously.
If this rejects actions and limits possibilities that Git provides, so be it.
You will immediately find that people use version control differently and "undo" means different things for them, therefore you have either:
a) 50 variants of "undo"
b) one official undo, but "here we use git foo" because reasons
c) people operating directly on the repo structure because a) and b) are to complicated and broken for some specific workflow.
d) most likely - mix of all those options.
What I don't get is why people insist on using git directly.
Define your workflow and create aliases named "undo", "save" etc. that work with folders instead of branches if you wish, call it our_git and use it. I've seen people do something like that.
In your design, can I go to the other "branch/folder" and look around / copy over that binary to my current "branch/folder" in a file explorer without a "checkout"?
However, I was going to make a browser UI from the start. I could implement a branch and file explorer in that UI, which would allow you to do the same thing.
Would that be good enough or not? I'd love to know because I want to build this tool for humans first.
Probably, yes. Anything that does not require thinking in current Git-logic. I don't mind Git that much in everyday work but if something nicer came along, that would be great.
I do think that Git is very well established, and it would probably take a major player, maybe Azure or AWS with a cloud-based IDE to change paradigms.
I just realized something: maybe I can make it so regular file explorers work.
I had intended to use something like Fossil's checkouts. I could formalize it; each branch the user wants could be a separate directory in the repo directory.
While I hate that, people seem to like it. I think I will do it.
If this rejects actions and limits possibilities that Git provides, so be it.