
Ask HN: If you were writing Git now, what would you change? - prmph
Assuming you were writing git now, what would you do differently? I would appreciate creative, out-of-the-box thoughts that go beyond current git concepts. What should modern, intuitive, effective source&#x2F;version control look like, from your perspective?
======
viraptor
Three things only:

\- Completely redesign the CLI options, parameters, etc. Make it all
consistent and give each separate command a clear single function. Stealing a
lot of that from Mercurial would help.

\- Write the backend as a library, so there's one canonical, offical library
anyone can link to.

\- Make the repo states officially described / explicitly saved. There should
be .git/state which tells you exactly what's going on. For example don't use
ad-hoc .git/rebase-merge, .git/MERGE_MODE, etc. It should also prevent stupid
mistakes unless forced, like "commit --amend" while resolving merge conflict,
or mixing up rebase/merge states.

------
gravypod
I'd write a GUI.

The only reason it hasn't taken over the market is that it doesn't "just
work".

Ungit[0] is a project that makes good attempts at fixing the UX problems with
git by making an easy-as-hell UI for it. If git came with something as fully
featured as the command interface but in a good UI format then it would take
over. There would be no reason to use anything else.

[0] -
[https://github.com/FredrikNoren/ungit](https://github.com/FredrikNoren/ungit)

