I would recommend you avoid relying on features of GitHub, and only use features of git. You never know when you might decide to switch repo hosting providers!
With that said, you've got a number of options: you can use tags or branches as "labels" to choose what's applied to what environment, or depending on the flavor of IaC you're using, have an entry point for each environment in your code which includes and parameterizes a common "environment" module.