this post was submitted on 19 Jul 2024
37 points (95.1% liked)
Git
3036 readers
1 users here now
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Resources
Rules
- Follow programming.dev rules
- Be excellent to each other, no hostility towards users for any reason
- No spam of tools/companies/advertisements. It’s OK to post your own stuff part of the time, but the primary use of the community should not be self-promotion.
Git Logo by Jason Long is licensed under the Creative Commons Attribution 3.0 Unported License.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The post mentions that these are for commits in a merge request before squash. When they’re squashed a proper message is given.
Also, squashing is a pretty bad practice as it is. I can understand that it may make sense sometimes, but most of the time if you don't commit every other character you input, you're better off leaving some history of how your code evolved and what changes were coming together
I think squashing is great and I would never want to go back. It helps ensuring:
And IMO, if your work warrants multiple commits, then it probably also warrants multiple merge requests. Merge requests should be rather small to make it easier to review.
Edit: another good thing is that when we decide to release, we can easily look through the commit history for a change log. No more sifting through minor fixes commits.
I agree with most of these but there's another missing benefit. A lot of the time my colleagues will be iterating on a PR so commits of "fuck, that didn't work, maybe this" are common.
I like meaningful commit messages. IMO "fixed the thing" is never good enough. I want to know your intent when I'm doing a blame in 18 months time. However, I don't expect anyone's in progress work to be good before it hits main. You don't want those comments in the final merge, but a squash or rebase is an easy way to rectify that.