I like to commit often and for small, logical parts of code. If I'm working on a large feature (2+ weeks), there will be many commits such as:
- Paged menu controller working
- progress in XYZ (SAVING WORK AT END OF DAY so if laptop is lost, work is saved)
At the end of the feature, there are many commits and I fear that I'm polluting the commit history. I've considered Git squash, but it doesn't work once you pull in updates, or after you've pushed to your branch.
I'm considering just trying to have less-and-larger commits, and using squash locally on small commits before pushing to my fork feature branch. However, this would seem to hinder the detailed commit history that I like to have.
What is the best solution here?