The git CLI has gotten a lot better over the past few years. Making simple branch push the default was a good move.
There are some things that could be improved (and any of these can be config options for those who want the old behavior):
* switching branches should auto-stash changes, then auto-apply when switching back (apparently one of the things gitless does)
* a rebase should leave a marker in the tree (with the old hashes) so if you force-push other clients can offer more intelligent options (e.g. Looks like these commits were rebased by a_user; rebase your changes skipping duplicate commits or merge?)
* git still allows you to create branch names differing only by case which is a problem on macOS and Windows
* cherry-pick -x should be the default and tools should do a better job of showing the relationships
* tag sync should include the commit and update on pull so rewriting tags isn't such a PITA. Maybe we need movable vs static tags.
There are some things that could be improved (and any of these can be config options for those who want the old behavior):
* switching branches should auto-stash changes, then auto-apply when switching back (apparently one of the things gitless does) * a rebase should leave a marker in the tree (with the old hashes) so if you force-push other clients can offer more intelligent options (e.g. Looks like these commits were rebased by a_user; rebase your changes skipping duplicate commits or merge?) * git still allows you to create branch names differing only by case which is a problem on macOS and Windows * cherry-pick -x should be the default and tools should do a better job of showing the relationships * tag sync should include the commit and update on pull so rewriting tags isn't such a PITA. Maybe we need movable vs static tags.