I'm not sure there's a definitive list anywhere, but a good place to start is looking at the .gitignore of well-maintained ROS packages (for example, slam_gmapping). A rule of thumb is anything removed with make clean should not be included, but I think that will leave some things around that you don't need in your repo.