The reason for that is that you're pushing the complete template. And all related objects get touched by that action. On development it knew you just saved a change on it.
If you're sure it's in sync and you only touched the template you could just only stage that.
On the other hand if you want everything in sync it shouldn't matter if you also stage the categories.