Description
From a few recent internal discussions: many users, particularly in a healthcare interoperability setting, git is very foreign. It would be better if the git integration could be made more seamless/automatic.
As our motivating use case, we have a single-developer, mostly interoperability-driven development environment. Merges in any direction happen through a web-based UI for the remote which allows for conflict resolution. There is a CI/CD pipeline that pushes changes to developers' environments automatically.
To support this use case, we should have an option to choose between "Basic" and "Expert" modes. This mode is a user-level setting configurable via the settings page, with a system-wide default that applies if it is not configured for the current user. "Expert" mode matches all of the current functionality. In "Basic" mode:
- git add of newly-created items is automatic (this could also be made a system-level setting)
- "Push to remote branch", "Fetch from remote", "Pull changes from remote branch" are boiled down to a single "Sync" menu item which fetches, pulls, commits all of the user's uncommitted changes (with an optional message defaulting to something reasonable), then pushes.
- "Create new branch", "Check out an existing branch", and the export/import options are removed from the menu.