Do you have a dumb question that you're kind of embarrassed to ask in the main thread? Is there something you're just not sure about?
This is your opportunity to ask questions. No question too simple or too silly.
Culture war topics are accepted, and proposals for a better intro post are appreciated.

Jump in the discussion.
No email address required.
Notes -
I've been working with git for a long time, probably over a decade. Never seen a frontend that would replace CLI for me. And in fact I don't think there exists any frontend that would deliver on what you're asking for. It's just not how git is meant to work. You have the right to want to do different things, but I don't think any git frontends would deliver them to you, because they are mostly paving the walkways, not trying to make git look like not git.
For (1), git is usually pretty conservative about touching your files, unless you tell it not to. But yes, each command has a "force" flag which will completely ruin your day if you force something that wipes your files. I feel like asking for a tool that can't do that is like asking for a safe knife - the only safe one is a useless one, as it won't cut.
For (2) if you have one remote, you should be fine, if you have multiple ones, there some setup is requires, probably some custom scripting and hooks would help. Unfortunately, that part of git UI is not excellent - I have occasionally pushed and pulled from a wrong remote and it's confusing as hell.
For (3), by default that's how git treats it, if you're in the main repo, the submodule diffs would only be shown as "modified" without any details. If you need more stuff happening there, probably hooks could help.
For (4) that's not really how git is supposed to work, but if you never use "add" command and only use "commit" then it should be like that. Of course, some more advanced command may have implied "add" so it again can get confusing.
For (5) unfortunately I don't think it's possible, at least not with how git models the universe - it keeps the state in files themselves during merge process, so if you are in the middle of this process, that's what you'd get and I don't think any frontend can change that, unless it basically reimplements a lot of it in a different way.
More options
Context Copy link