3 ms·
this seems like a chain of good practices. though I find it hard to stay disciplined about keeping commits well scoped and well described
by laybak 4mo ago
this seems like a chain of good practices. though I find it hard to stay disciplined about keeping commits well scoped and well described
- jonahx 4mo agoBecoming very comfortable with "rebase --interactive" and other cmds for editing your (local!) history before merging helps a lot. Once you are, it only adds 5m or so of extra work to most PRs. And while acquiring this knowledge used to be difficult, LLMs make it very easy these days.
- duskdozer 4mo agoI would also recommend an editor designed for rebases. I use the nodejs rebase-editor TUI (though it looks like the old non-vibecoded releases have been removed from github, so unclear on the current availability of this one) which makes it easier to organize
- morganherlocker 4mo agoYou can setup most PR systems to squash on merge using the first commit's message, then enforce that the top commit message is prefixed with a ticket ID. This practice has many benefits: readable git log, easier git bisect for tracking down regressions, it becomes easy to find all commits associated with a block of work, more useful git blame.
- jonahx 4mo agoI strongly recommend against auto-squashing. It creates large commits without the semantic intent of the author. In a large PR, you want clean, small, semantic commits, which makes it much easier to review and understand.
- duskdozer 4mo agoI agree, though it feels like a bit of a lost cause at times to get people to make those commits