good question 
at the moment, we create a couple of directories you might want to include in a .gitignore
target/*
lib/*
target is where we put binaries and related objects produced by the local compiler.
lib is where we put libraries when you run the Particle: Install Library command BUT you might opt to check these in anyway (aka “vendoring”) as we don’t yet have a great UX for keeping them in sync (you’d need to re-install them on a freshly cloned repo using the aforementioned command).
otherwise, i’d point you to our firmware repo as well as github’s generic .gitignore templates: