I'm starting my first open source repository and I'm curious how others manage their commit strategies. I currently have around 120 commits, which feels like a lot compared to many other repos that seem to have only a few commits. My approach involves making frequent small commits, each with a note explaining the change. I'd love to hear your thoughts on two things: 1. How do you typically handle commits when working on projects? 2. What do you consider best practices for committing changes?
4 Answers
Honestly, it depends on the project and your style. I usually commit when I finish a task or when I hit a good stopping point during development, making sure to keep my work stable.
There’s a lot of different styles, and each has its pros and cons. Personally, I commit freely on my feature branch and then do a squash merge when it’s ready for the main branch. This way, you keep things tidy, but still allow for lots of experimentation without cluttering the main history.
Totally agree! I try to make my commits meaningful and keep them focused on single changes. It makes tracking progress easier and helps with future debugging.
When working on a long-term branch, each commit should represent a stable and functional version of the project. It's crucial that you can revert to previous commits without issues. On branches meant for review, you can be a bit more relaxed, as those can be squashed into a single commit with a brief description before merging. This method keeps things organized and easy to understand for everyone.
Exactly! I tend to make lots of small, potentially unstable commits while I’m experimenting. Once everything works, I squash them into a solid commit with passing tests for the `main` branch.
That’s spot on! Each commit should ‘just work.’ It’s about keeping your history clean and manageable. People really appreciate it when reviewing your code.

Right! Working in a branch allows for flexibility while keeping `main` clean. It's a smart approach.