Hacker ApprovedDepartments

git rebase

Ranked 2 of 9 version control features by recommenders

Lets people edit, reorder and fix up local commits before merging, giving a cleaner history. Caveat: the editor-based workflow is cumbersome, and rewriting history can break things.

21 people recommended git rebase in Hacker News comments, 2 had mixed feelings and 11 criticized it, November 2025 to October 2026.

Summary written by Claude from 43 comments. It was written before the November 2026 recount, and 41 of those comments still count.

34 people gave an opinion

recommend it
21
mixed feelings
2
warn against or regret it
11

The record

Each figure is one person. RecommendsMixed feelingsCriticizes

Recommended in 8 of 12 months

In 15 different threads.

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: not recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: not recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: not recommended
  12. October 2026: not recommended

Why it doesn’t carry the badge

  • 21 people recommend itNeeds 10 or more, met.
  • 1.9 recommenders for every criticNeeds 2 to 1 or better, not met.
  • Recommended in 8 of 12 monthsNeeds 4 or more, met.
  • Recommended in 15 threadsNeeds 5 or more, met.
  • The biggest thread supplies 24% of its recommendersNeeds half or less, met.

The same rules apply to every product, and the badge can’t be bought. Mixed feelings count toward neither side. How the badge works

What people say about it

Reasons grouped from a sample of 40 of the 42 opinions about it, picked in proportion to how many people recommend it, have mixed feelings and criticize it. Each mark is one comment in the sample. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Tidies local commits before merging

    “Becoming very comfortable with "rebase --interactive" and other cmds for editing your (local!) history before merging helps a lot.”

    Comment from 2 Jul 2026 in “Many people misunderstand the purpose of code review”

    “git rebase can do that easily, I do it all the time when prepping feature branches”

    Comment from 15 Feb 2026 in “Inspecting the Source of Go Modules”

    “There are also features to automatically reorder commits with, e. g., `git commit --fixup` and `git rebase --autosquash”

    Comment from 6 Dec 2025 in “Stacked Diffs with git rebase —onto”
  • Reorder and drop commits in an editor

    “A clear example of text as UI is git rebase: move around lines, rename words, press save and quit…”

    Comment from 22 Nov 2025 in “Things I don't like in configuration languages”

    “Bring able to rapidly open history list in a text editor and rearrange and issue commands in vim is fantastic.”

    Comment from 30 Jul 2026 in “Staging patches with Git add -p”

    “Eh I just use `git rebase -i` and delete the commits I don't want. Much easier to think about.”

    Comment from 5 Dec 2025 in “Stacked Diffs with git rebase —onto”
  • Keeps long-lived local branches tidy

    “I love rebase locally, especially when I have a few non-urgent branches that sit around for a little while.”

    Comment from 13 Jan 2026 in “Git Rebase for the Terrified”

    “with rebase you can work more or less as with "patches" and a single master”

    Comment from 13 Jan 2026 in “Git Rebase for the Terrified”
  • Fixup and autosquash workflow

    “Though an interactive rebase with fixup is even better”

    Comment from 14 Dec 2025 in “Using Git add -p for fun (and profit)”

What people warn about

Each mark is one comment

  • Manual editor workflow is cumbersome

    “git rebase -i drops you into a text editor where you have to manually copy, move, and edit lines”

    Comment from 18 May 2026 in “Mercurial, 20 years and counting: how are we still alive and kicking? [video]”

    “this new interface is very primitive, you see close to no context, only some commit names”

    Comment from 3 Apr 2026 in “Reinventing the Pull Request”

    “That's not "easily". Easily would be: you drag your commit(s) from one place to another”

    Comment from 3 Apr 2026 in “Reinventing the Pull Request”
  • Rewrites history into commits never existed

    “I hate it when people rebase a list of commits, because that makes commits which never existed before”

    Comment from 13 Jan 2026 in “Git Rebase for the Terrified”

    “since rebase is fundamentally wrong it only stacks the wrongness”

    Comment from 28 Jan 2026 in “I made my own Git”

    “interactive rebasing is a horrible solution to this problem”

    Comment from 18 Aug 2026 in “Splitting a Git Commit”
  • Confusing and unpredictable behavior

    “git rebase appears to be a random number generator to me”

    Comment from 13 Jan 2026 in “Git Rebase for the Terrified”

    “people are confused about rebase”

    Comment from 13 Jan 2026 in “Git Rebase for the Terrified”

    “git rebase -i kinda sucks”

    Comment from 24 May 2026 in “Defeating Git Rigour Fatigue with Jujutsu”
  • Easy to break the working tree

    “they kept learning its footguns faster than its capabilities”

    Comment from 14 Jul 2026 in “The Git history command deserves more attention”

Other version control features people recommend

The four most recommended other version control features, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

git rebase compared with 4 alternatives
ProductRecommendMixedCriticizeApprovalMonthsHad forBadge
Git worktree46101971%10—Approved
git rebaseThis page2121166%8——
git rerere162480%7—Approved
git add -p112473%6—Approved
Git notes101283%7—Approved
See all 9 version control features, ranked

Also compared with Git submodules.

What people said

40 of the 42 opinions about it, picked in proportion to the three counts, newest first. Each links to the original comment.

“interactive rebasing is a horrible solution to this problem”

CriticizesComment from 18 Aug 2026 in “Splitting a Git Commit”

“I sing some praises of git rebase -i, specifically linking it to a spreadsheet”

RecommendsComment from 11 Aug 2026 in “Show HN: Git-knife – edit commit messages, authors, and dates like a spreadsheet”

“Bring able to rapidly open history list in a text editor and rearrange and issue commands in vim is fantastic.”

RecommendsComment from 30 Jul 2026 in “Staging patches with Git add -p”

“curating my commits for the benefit of the reviewer”

RecommendsComment from 26 Jul 2026 in “Git rebase -I is not that scary”

“it's the one clear tool that i used all the time”

RecommendsComment from 26 Jul 2026 in “Git rebase -I is not that scary”

“rebase interactive is pretty wild what it will let you try to automate”

RecommendsComment from 14 Jul 2026 in “The Git history command deserves more attention”

“they kept learning its footguns faster than its capabilities”

CriticizesComment from 14 Jul 2026 in “The Git history command deserves more attention”

“I prefer the interactive rebase and use it frequently.”

RecommendsComment from 14 Jul 2026 in “The Git history command deserves more attention”

“Becoming very comfortable with "rebase --interactive" and other cmds for editing your (local!) history before merging helps a lot.”

RecommendsComment from 2 Jul 2026 in “Many people misunderstand the purpose of code review”

“git rebase -i kinda sucks”

CriticizesComment from 24 May 2026 in “Defeating Git Rigour Fatigue with Jujutsu”

“git rebase -i drops you into a text editor where you have to manually copy, move, and edit lines”

CriticizesComment from 18 May 2026 in “Mercurial, 20 years and counting: how are we still alive and kicking? [video]”

“git rebase, for all its warts, was always better than mq.”

RecommendsComment from 17 May 2026 in “Mercurial, 20 years and counting: how are we still alive and kicking? [video]”

“it shows you the history of what is clearly, and let's you modify it as you please”

RecommendsComment from 23 Apr 2026 in “Highlights from Git 2.54”

“Using `git rebase -i` just to fix a spelling error is overkill”

CriticizesComment from 23 Apr 2026 in “Highlights from Git 2.54”

“this new interface is very primitive, you see close to no context, only some commit names”

CriticizesComment from 3 Apr 2026 in “Reinventing the Pull Request”

“That's not "easily". Easily would be: you drag your commit(s) from one place to another”

CriticizesComment from 3 Apr 2026 in “Reinventing the Pull Request”

“Take a look at `git rebase --interactive”

RecommendsComment from 2 Apr 2026 in “Reinventing the Pull Request”

“the process still usually feels cleaner than with git merge”

MixedComment from 4 Mar 2026 in “Show HN: Effective Git”

“git rebase can do that easily, I do it all the time when prepping feature branches”

RecommendsComment from 15 Feb 2026 in “Inspecting the Source of Go Modules”

“since rebase is fundamentally wrong it only stacks the wrongness”

CriticizesComment from 28 Jan 2026 in “I made my own Git”

“Interactive rebasing to write local history on your working branch is incredibly useful”

RecommendsComment from 15 Jan 2026 in “Git Rebase for the Terrified”

“I love rebase locally, especially when I have a few non-urgent branches that sit around for a little while.”

MixedComment from 13 Jan 2026 in “Git Rebase for the Terrified”

“it's hard to craft commits without it”

RecommendsComment from 13 Jan 2026 in “Git Rebase for the Terrified”

“rebase allows you to be lazy in the development cycle while presenting a nice clean set of changes at the end of it”

RecommendsComment from 13 Jan 2026 in “Git Rebase for the Terrified”

“people are confused about rebase”

CriticizesComment from 13 Jan 2026 in “Git Rebase for the Terrified”

“It helps me to maintain logical commit history.”

RecommendsComment from 13 Jan 2026 in “Git Rebase for the Terrified”

“git rebase appears to be a random number generator to me”

CriticizesComment from 13 Jan 2026 in “Git Rebase for the Terrified”

“I hate it when people rebase a list of commits, because that makes commits which never existed before”

CriticizesComment from 13 Jan 2026 in “Git Rebase for the Terrified”

“with rebase you can work more or less as with "patches" and a single master”

RecommendsComment from 13 Jan 2026 in “Git Rebase for the Terrified”

“What you want is `git rebase`, especially with the `--onto` and `--interactive` options.”

RecommendsComment from 23 Dec 2025 in “Debian's Git Transition”

“That’s what git-rebase is for, and it is built into standard git.”

RecommendsComment from 23 Dec 2025 in “Debian's Git Transition”

“can either pause between steps or execute commands between steps”

RecommendsComment from 15 Dec 2025 in “Using Git add -p for fun (and profit)”

“No matter what you did, you can always go back a previous state!”

RecommendsComment from 14 Dec 2025 in “Awesome-Jj: Jujutsu Things”

“No need for the rebase to be interactive”

RecommendsComment from 14 Dec 2025 in “Using Git add -p for fun (and profit)”

“Though an interactive rebase with fixup is even better”

RecommendsComment from 14 Dec 2025 in “Using Git add -p for fun (and profit)”

“I for one prefer git's step-by-step rebase model that makes you address conflicts at the time of the rebase”

RecommendsComment from 7 Dec 2025 in “Stacked Diffs with git rebase —onto”

“There are also features to automatically reorder commits with, e. g., `git commit --fixup` and `git rebase --autosquash”

RecommendsComment from 6 Dec 2025 in “Stacked Diffs with git rebase —onto”

“they all do the same thing as "roll", i.e. they keep the earliest commit's date”

CriticizesComment from 5 Dec 2025 in “Stacked Diffs with git rebase —onto”

“Eh I just use `git rebase -i` and delete the commits I don't want. Much easier to think about.”

RecommendsComment from 5 Dec 2025 in “Stacked Diffs with git rebase —onto”

“A clear example of text as UI is git rebase: move around lines, rename words, press save and quit…”

RecommendsComment from 22 Nov 2025 in “Things I don't like in configuration languages”

Counts come from 1,791,911 Hacker News comments labeled by Claude, November 2025 to October 2026, with data through October 31, 2026. Counts updated 2 Nov 2026. How we count. Report a mistake.