If you want to use a custom domain in HubPress, it is pretty easy to do it. The trick is knowing about the importance of an A DNS record pointing to some specific GitHub IP addresses.

Step 1 - Get a Domain

I chose Dreamhost for my domain name registrar, based on some testimonials.

Pay for a domain and once it is registered and parked, you can continue.

Step 2 - Add CNAME to HubPress

  1. Open the HubPress Admin Console

  2. Click Settings.

  3. In the CNAME field, type in your domain name. You don’t need the www prefix.

  4. Save your changes.

Step 3 - Add an A Record through your Host

Thanks to the HubPress founder, Anthonny, he found a Stack Overflow Q&A that worked perfectlly with Dreamhost.

How to add an A Record for GitHub Pages
  1. Go to Domains ▸ Manage Domains in your webpanel.

  2. Locate yournewdomain.com, and click Edit in the Actions column.

  3. Scroll to the bottom of the webpanel and switch to "DNS Only" hosting.

  4. Return to Domains ▸ Manage Domains in your webpanel.

  5. Click the DNS link below yournewdomain.com.

  6. Add an A record:

    • Name = (blank, nothing)

    • Type = A

    • Value = 192.30.252.153

The latest list of IP addresses is available from this GitHub Help article

The steps—and menu transitions—may differ from provider to provider, but the important thing is to get those GitHub IP addresses added to each A record. Once you do that, your domain will redirect perfectly.

If you are using GitHub to host any other static sites that used your old username.github.io address, they will automatically redirect over to yournewdomain.com and maintain their absolute path, which is pretty neat. No dead links for your disparate sites that may have got quite a following. Now all under the one managed domain.