4 ms·
I think you're really, really undervaluing branches. The fact that patches are mostly shared as branches changes everything. It's what enables three-way merges
by kjeetgill 4y ago
I think you're really, really undervaluing branches. The fact that patches are mostly shared as branches changes everything.
It's what enables three-way merges, and makes rebasing much more manageable.
The ability to traverse and jump to some other point in history is really missing here too.
- howinteresting 4y agoYou absolutely don't need the way Git does branching to do three-way merges. If you have local commits as first-class citizens, the need for local branch names disappears completely. Local commits imply traversing history, but even that is terrible with Git. You can't just do obvious things like "git previous" or "git next" or "git checkout <commit hash>".
- kjeetgill 4y agoI'm not sure why you wouldn't want local beach names once commits are first class. And you don't have to do it the way got does, but aside from pijul I think everything does it about the same way git does. Also, git checkout <commit hash> works?
- howinteresting 4y agoLocal branch names for short-lived branches are a crutch, there's nothing they convey that commit messages don't express better. What happens if you amend a commit after checking it out?
- kjeetgill 4y ago> Local branch names for short-lived branches are a crutch Hm. We must use git completely differently then. I can't really imagine what what I'd do without them. > there's nothing they convey that commit messages don't express better. Presumably you'd still want to maintain a list of HEADs, so you just want to alway refer to them by hash instead of a branch name? That's fine I guess -- not sure what it buys you. > What happens if you amend a commit after checking it out? Then it becomes a new commit? Not sure what you're getting at.