2 ms·
Yeah, Git's problem has always been that it exposes too much implementation complexity in inconsistent ways. The underlying concepts are not that hard, and the
by Espressosaurus 4y ago
Yeah, Git's problem has always been that it exposes too much implementation complexity in inconsistent ways. The underlying concepts are not that hard, and they aren't inconsistent.
Git just chose to expose them inconsistently, making easy DAG operations hard to remember the syntax for.
I'm also not thrilled with the "everything is a pointer" model since that doesn't match how I've seen branches used in practice; Mercurial's concept of a branch as a named, linear sequence of commits seems to better match how I've seen it work at companies small (< 50 people) and large (>50K people). It's not a big issue, but it is yet another impediment that isn't necessary.
The reflog is useful, but not as ergonomic as Evolve's hidden commits that have been replaced.
Everything about Git's UI is like that. Poorly thought out, poorly integrated, causing unnecessary friction on top of what is a perfectly fine underlying implementation.
- kristopolous 4y agoFor things like this I've found it enlightening to browse .gitconfig files on github, like this maybe: https://github.com/search?q=alias+filename%3A.gitconfig+extension%3Agitconfig&type= https://github.com/search?q=alias+filename%3A.gitconfig+exte... You get some pretty wildly interesting ones like https://github.com/jorge-barreto/dotfiles/blob/7769df698f14c1acbd442afc2ed9e6d3b0ea325b/.gitconfig https://github.com/jorge-barreto/dotfiles/blob/7769df698f14c... or https://github.com/zerochae/dotfiles/blob/6f972916228cf13f3bf60d3daeb88f3dc135e966/.gitconfig https://github.com/zerochae/dotfiles/blob/6f972916228cf13f3b... Unrelated but also nice is looking at how people bring sanity to tmux https://github.com/search?q=filename%3A.tmux.conf&type= https://github.com/search?q=filename%3A.tmux.conf&type= which is how I found out about https://github.com/tmux-plugins/list https://github.com/tmux-plugins/list