I have some template/starting point code that I reuse across projects. While working on the new project, I always want to add and change things in the template.
Develop the template alongside the project, I guess.

Some of my additions are project-specific and should no be committed to the template. Others should.

I bet I could use git for this, but I'm not sure how. I have a git repository for the template and one for each project. I would like some, but not all, commits I make to be pushed back to the template. Can I make a subset of files that don't get committed back? Should I work on project-specific things in one branch and the template in the master?

I really appreciate any insights. My google-fu yields little.