Páginas do GitHub é a solução oficial do GitHub para esse problema.
raw.githubusercontentfaz com que todos os arquivos usem o text/plaintipo MIME, mesmo se o arquivo for um arquivo CSS ou JavaScript. Portanto https://raw.githubusercontent.com/‹user›/‹repo›/‹branch›/‹filepath›, não será o tipo MIME correto, mas um arquivo de texto simples e vinculá-lo via <link href="..."/>ou <script src="..."></script>não funcionará - o CSS não será aplicado / o JS não será executado.
O GitHub Pages hospeda seu repositório em um URL especial, então tudo que você precisa fazer é fazer o check-in de seus arquivos e enviar por push. Observe que, na maioria dos casos, as páginas do GitHub exigem que você se comprometa com um ramo especial gh-pages,.
No seu novo site, normalmente https://‹user›.github.io/‹repo›, todos os arquivos confirmados na gh-pagesramificação (a confirmação mais recente) estão presentes nesse URL. Então, você pode vincular ao seu arquivo js via <script src="https://‹user›.github.io/‹repo›/file.js"></script>, e este será o tipo MIME correto.
Você tem arquivos de compilação?
Pessoalmente, minha recomendação é executar esse ramo paralelamente master. Nogh-pages ramificação, você pode editar seu .gitignorearquivo para fazer o check-in de todos os arquivos dist / build necessários para o seu site (por exemplo, se você possui arquivos compactados / minificados), mantendo-os ignorados em sua masterramificação. Isso é útil porque você normalmente não deseja acompanhar as alterações nos arquivos de compilação no seu repositório regular. Toda vez que você quiser atualizar seus arquivos hospedados, simplesmente fundir masterem gh-pages, reconstruir, cometer, e empurre.
(protip: você pode mesclar e reconstruir no mesmo commit com estas etapas :)
$ git checkout gh-pages
$ git merge --no-ff --no-commit master # prepare the merge but don’t commit it (as if there were a merge conflict)
$ npm run build # (or whatever your build process is)
$ git add . # stage the newly built files
$ git merge --continue # commit the merge
$ git push origin gh-pages