23/01/19 ACTUALIZACIÓN:
Las cosas han cambiado bastante (para mejor) desde mi última respuesta. Esta respuesta actualizada le mostrará cómo configurar:
- Ápice de la raíz (example.com)
- Subdominio (www.example.com)
- HTTPS (opcional pero muy recomendable)
Al final, todas las solicitudes example.comserán redirigidas a https://www.example.com (o http: // si elige NO usar HTTPS). Siempre uso wwwcomo mi aterrizaje final. Por qué ( 1 , 2 ), es para otra discusión.
Esta respuesta es larga pero es no complicado. Fui prolijo por claridad, ya que los documentos de GitHub sobre este tema no son claros ni lineales.
Paso 1: habilite las páginas de GitHub en la configuración de GitHub
- Desde su repositorio, haga clic en la
pestaña
- Desplácese hacia abajo a la
GitHub Pagessección. Tienes dos opciones:
- Elegir
master branchtratará /README.mdcomo tu web index.html. Elegir master branch /docs foldertratará /docs/README.mdcomo tu web index.html.
- Elige un tema.
- Espere un minuto mientras GitHub publica su sitio. Verifique que funciona haciendo clic en el enlace al lado de
Your site is ready to be published at
Paso 2: especifique el dominio personalizado en la configuración de GitHub
Ingrese su nombre de dominio personalizado aquí y presione save:

Este es un paso sutil pero importante.
- Si el dominio personalizado que agregó a su sitio de páginas de GitHub es
example.com, www.example.comse redirigirá aexample.com
- Si el dominio personalizado que agregó a su sitio de páginas de GitHub es
www.example.com, example.comse redirigirá a www.example.com.
Como se mencionó anteriormente, recomiendo siempre aterrizar en, wwwasí que entré www.example.comcomo se muestra arriba.
Paso 3: crear entradas DNS
En la consola web de su proveedor de DNS, cree cuatro Aregistros y uno CNAME.
ARegistros para @(también conocido como apex de raíz):
Algunos proveedores de DNS le pedirán que especifique @, otros (como AWS Route 53) dejará el subdominio en blanco para indicar @. En cualquier caso, estos son los Aregistros para crear:
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
- Cree un
CNAMEregistro para apuntar www.example.com YOUR-GITHUB-USERNAME.github.io.
Esta es la parte más confusa.
Tenga en cuenta el YOUR-GITHUB-USERNAME NO el nombre del repositorio de GitHub El valor de YOUR-GITHUB-USERNAMEestá determinado por este gráfico .
Para un sitio de páginas de usuario (muy probablemente lo que eres), la CNAMEentrada seráusername.github.io , por ejemplo:

Para un sitio de páginas de Organización , la CNAMEentrada seráorgname.github.io , por ejemplo:

Paso 5: confirme las entradas DNS
Confirme sus Aregistros ejecutando dig +noall +answer example.com. Debería devolver las cuatro 185.x.x.xdirecciones IP que ingresó.
Confirma tu CNAMEregistro al ejecutar dig www.example.com +nostats +nocomments +nocmd. Debería devolver unCNAME YOUR-GITHUB-USERNAME.github.io
Puede tomar una hora más o menos para que estas entradas DNS se resuelvan / propaguen. Una vez que lo hagan, abra su navegador http://example.comy debería redirigir ahttp://www.example.com
Paso 6: Configuración SSL (HTTPS). Opcional, pero muy recomendable.
Una vez que tenga el dominio personalizado funcionando, regrese a la configuración del repositorio. Si ya tiene la página de configuración abierta, actualice la página.
Si hay un mensaje debajo de la Enforce HTTPScasilla de verificación, que indica que aún se está procesando, deberá esperar. También es posible que deba presionar el savebotón en la Custom domainsección para iniciar elEnforce HTTPS procesamiento.
Una vez que se completa el procesamiento, debería verse así:

Simplemente haga clic en la Enforce HTTPScasilla de verificación y apunte su navegador a https://example.com. Debe redirigir y abrirhttps://www.example.com
¡ESO ES!
GitHub mantendrá automáticamente actualizado su certificado HTTPS Y debería manejar el vértice para wwwredirigir a través de HTTPS.
¡¡Espero que esto ayude!!
...
Respuesta anterior (anterior al 23/01/19)
Entonces lo descubrí. James McLaughlin me dio el empujón que necesitaba.
Para configurar un dominio personalizado para un repositorio de páginas de proyecto de gh-pages que maneje www.yourdomain.com y yourdomain.com (se supone que ya tiene una rama de gh-pages en su repositorio):
- Desde su repositorio de proyectos, gh-pages branch. Crea un archivo CNAME con los contenidos
yourdomain.com. Comprometerse luego empujar.
- En su administrador de DNS, configure dos
cnameregistros. Uno para el ápice raíz (@) y otro para www. Ambos apuntan a YOURusername.github.io. Si su proveedor de DNS NO admite ALIASregistros en el vértice raíz (@), simplemente cree Aregistros que apunten 192.30.252.153y192.30.252.154
Espere hasta que sus servidores de nombres se actualicen:
dig yourdomain.com +nostats +nocomments +nocmd