Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> having to drop everything you're in the middle of to fix an endless list of rebase conflicts sucks

You can use git commit --fixup to record what you want to change in an earlier commit.

> start over from scratch

rerere

> Branches based off your original changes don't get rewritten

As written elsewhere: git rebase --update-refs. If you want to do it manually git rebase --onto.



> You can use git commit --fixup to record what you want to change in an earlier commit.

jj just does it correctly by default.

> rerere

jj just does it correctly by default.

> As written elsewhere: git rebase --update-refs. If you want to do it manually git rebase --onto.

jj just does it correctly by default.

defaults matter.


>> git commit --fixup

> jj just does it correctly by default.

JJ adds changes to random old commits instead of the newest one? Yikes.

> rerere by default

Takes space and time.

> --update-refs by default

Maybe sensible, don't need it most of the time.


> JJ adds changes to random old commits instead of the newest one? Yikes.

jj adds changes to the current commit, which is the staging area, which is the index, which is the working copy. I get you don't like it, no need to be an ass about it, but denying that it works is just that, denial.

> > rerere by default

> Takes space and time.

doesn't take my time. I'll take it.

> > --update-refs by default

> Maybe sensible, don't need it most of the time.

No reason to waste time thinking when it's needed.


> no need to be an ass about it

That wasn't what I meant, git --fixup is for changing earlier commits, you answered as if it didn't that's what I wanted to point out. (I tried to be sarcastic, because it was obvious that you didn't mean that.)

>> Maybe sensible, don't need it most of the time.

As in I want the opposite behaviour most of the time. That's why that is the default.


Yes, there are a million weird band-aids that git has grown over time. Some of them work better than others.

Or we could just not have the problems to begin with.


There are some later additions like git switch, but git rebase and git commit ain't one.


`--update-refs` was added in 2.38, in 2022. `--fixup` was added in 1.7.3. Like I said, git has grown additional features and workarounds. Knowing all of them is a lot of work.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: