Separating your Binder setup files from your repository content can be useful for a variety of reasons. Maybe they need different access permissions or you manage your working environment external to your code repository. Whatever the reason, with a custom Binder URL you can store your environment independent of your content.
The form on the mybinder.org home page only allows you to select a repository branch to build from. To create a BinderHub deployment link for situations where the environment and content are housed in separate repositories or on different branches of the same repository, you can use the nbgitpuller link generator to generate a formatted URL. Note that nbgitpuller must be included in your hub environment for this to work.
For some background on this how-to guide, see this community forum post. Here is an example repository using a JupyterHub environment configuration stored in a separate repository. The environment was set up for a community workshop and the tutorial content was compiled and released after the workshop.