4 ms·
Also seconding the confusion that other commenters have regarding the "three commits max" rule for automated deploys. Maybe engineers at Facebook are just big f
by avolcano 11y ago
Also seconding the confusion that other commenters have regarding the "three commits max" rule for automated deploys. Maybe engineers at Facebook are just big fans of rebasing, but I often make commits on feature branches that don't "stand on their own" - i.e., would break some functionality without subsequent commits. I'm not sure why you'd want to deploy one-commit-at-a-time unless you kept a very strict "one commit == one standalone feature/bugfix" rule, which isn't mentioned in this post.
(I suppose it's also possible that that's referring specifically to merge commits into master, which would make a lot more sense to me)
- nbm 11y agoI'm not sure about Instagram, but Facebook is a fan of rebasing in general. Nothing should ever appear as a commit in master that isn't something that should be used in production - ie, should never intentionally be broken in isolation. In general, feature branches are relatively very short-lived, and will be code reviewed, rebased and landed as a single commit onto master. Features are often feature flagged off anyway, so it is acceptable to commit partially-functional features to master while that feature is flagged away. There is a concept of stacked commits, but each commit in the stack needs to be a working step towards the end goal, and as such can (and will) be landed in isolation as they are code reviewed.
- serge2k 11y ago> Nothing should ever appear as a commit in master that isn't something that should be used in production - ie, should never intentionally be broken in isolation. I don't understand why people do it any other way.
- ihsw 11y agoSome people Ctrl+S and commit every few files, to keep from pushing changes to 10+ files in a single commit.
- greenleafjacob 10y agoThe biggest reason IMO is git bisect which is mostly broken without having each commit be "on its own".