Aqui está um script que uso para o meu site, onde uso o Hugo para gerar todo o HTML do meu site para o ./public
diretório. Em seguida, executo esses comandos para substituir o conteúdo do nome de usuário .github.io pelo novo HTML.
git clone git@github.com:username/username.github.io.git --branch master --single-branch /tmp/master
rm -Rf /tmp/master/*
cp -Rf ./public/* /tmp/master/
touch /tmp/master/.nojekyll
echo "ryanparman.com" > /tmp/master/CNAME # If you are serving from a CNAME
find /tmp/master -type d | xargs chmod -f 0755
find /tmp/master -type f | xargs chmod -f 0644
cd /tmp/master/ && git add . && git commit -a -m "Automated commit on $$(date)" && git push origin master
rm -Rf /tmp/master
O que está acontecendo?
- Clone apenas o
master
ramo para/tmp/master
. - Remova todo o conteúdo.
- Adicione o novo conteúdo.
- Crie um
.nojekyll
arquivo para que o GitHub Pages não mexa no meu HTML. - Se você estiver servindo seu site de páginas do GitHub com um CNAME (por exemplo,
ryanparman.com
), escreva umCNAME
arquivo de texto. - Altere todas as permissões de diretório para
0755
e todas as permissões de arquivo para0644
(um conjunto de permissões muito seguro). - Adicione e confirme tudo e envie.
- Limpar.