23/01/19 ATUALIZAÇÃO:
As coisas mudaram um pouco (para melhor) desde a minha última resposta. Esta resposta atualizada mostrará como configurar:
- Vértice raiz (exemplo.com)
- Subdomínio (www.example.com)
- HTTPS (opcional, mas fortemente incentivado)
No final, todas as solicitações example.comserão redirecionadas para https://www.example.com (ou http: // se você optar por NÃO usar HTTPS). Eu sempre uso wwwcomo meu pouso final. Por que ( 1 , 2 ), é para outra discussão.
Essa resposta é longa, mas é não complicado. Fui detalhado por questões de clareza, pois os documentos do GitHub sobre esse tópico não são claros ou lineares.
Etapa 1: ativar as páginas do GitHub nas configurações do GitHub
- No seu repositório, clique no
guia
- Role para baixo até o
GitHub Pages seção. Você tem duas opções:
- A escolha
master branchserá tratada /README.mdcomo sua web index.html. A escolha master branch /docs foldertratará/docs/README.md como sua web index.html.
- Escolha um tema.
- Espere um minuto enquanto o GitHub publica seu site. Verifique se funciona clicando no link ao lado de
Your site is ready to be published at
Etapa 2: especificar o domínio personalizado nas configurações do GitHub
Digite seu nome de domínio personalizado aqui e pressione save:

Este é um passo sutil, mas importante.
- Se o domínio personalizado que você adicionou ao seu site GitHub Pages for
example.com, ele www.example.comserá redirecionado paraexample.com
- Se o domínio personalizado que você adicionou ao seu site GitHub Pages for
www.example.com, ele example.comserá redirecionado para www.example.com.
Como mencionado anteriormente, eu recomendo sempre aterrar em, wwwentão entrei www.example.comcomo na foto acima.
Etapa 3: criar entradas DNS
No console da web do seu provedor de DNS, crie quatro Aregistros e um CNAME.
ARegistros para @(também conhecido como ápice raiz):
Alguns provedores de DNS solicitarão que você especifique @; outros (como AWS Route 53), você deixará o subdomínio em branco para indicar @. Nos dois casos, estes são os Aregistros a serem criados:
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
- Crie um
CNAMEregistro para apontar www.example.com para YOUR-GITHUB-USERNAME.github.io.
Esta é a parte mais confusa.
Observe o nome do repositório YOUR-GITHUB-USERNAME NÃO do GitHub! O valor de YOUR-GITHUB-USERNAMEé determinado por este gráfico .
Para um site de páginas de usuário (provavelmente o que você é), a CNAMEentrada será username.github.io, por exemplo:

Para um site de páginas da organização , a CNAMEentrada seráorgname.github.io , por exemplo:

Etapa 5: confirmar entradas DNS
Confirme seus Aregistros executando dig +noall +answer example.com. Ele deve retornar os quatro 185.x.x.xendereços IP digitados.
Confirma seu CNAMEregistro executando dig www.example.com +nostats +nocomments +nocmd. Deve retornar umCNAME YOUR-GITHUB-USERNAME.github.io
Pode levar uma hora ou mais para que essas entradas DNS sejam resolvidas / propagadas. Quando o fizerem, abra o navegador http://example.come ele deverá redirecionar parahttp://www.example.com
Etapa 6: configuração do SSL (HTTPS). Opcional, mas altamente recomendado
Depois de ter o domínio personalizado funcionando, volte para as configurações de repo. Se você já tem a página de configurações aberta, atualize a página com força.
Se houver uma mensagem na Enforce HTTPScaixa de seleção, informando que ainda está em processamento, será necessário aguardar. Você também pode precisar pressionar o savebotão na Custom domainseção para iniciar oEnforce HTTPS processamento.
Depois que o processamento estiver concluído, ele deve ficar assim:

Basta clicar na Enforce HTTPScaixa de seleção e apontar seu navegador para https://example.com. Deve redirecionar e abrirhttps://www.example.com
É ISSO AÍ!
O GitHub manterá automaticamente seu certificado HTTPS atualizado E deve lidar com o ápice para wwwredirecionar por HTTPS.
Espero que isto ajude!!
...
Resposta antiga (anterior a 23/01/19)
Então eu descobri. James McLaughlin me deu a cutucada que eu precisava.
Para configurar um domínio personalizado para um repositório de páginas do projeto gh-pages que lida com www.yourdomain.com e yourdomain.com (pressupõe que você já tenha uma ramificação gh-pages em seu repositório):
- No repo do projeto, o gh-pages ramifica. Crie um arquivo CNAME com o conteúdo
yourdomain.com. Confirme e empurre.
- No seu gerenciador de DNS, configure dois
cnameregistros. Um para o ápice raiz (@) e outro para www. Ambos apontam para YOURusername.github.io. Se o seu provedor de DNS NÃO suportar ALIASregistros no ápice raiz (@), basta criar Aregistros que apontem para 192.30.252.153e192.30.252.154
Aguarde até a atualização dos servidores de nomes:
dig yourdomain.com +nostats +nocomments +nocmd