[Makefile] Publish to GitHub Pages Automatically
Assume we have the following repo:
https://github.com/myname/myrepo
We want to automate the publish of static website to GitHub Pages.
Here is what I do:
First create a gh-pages branch:
# clone repo
$ git clone https://github.com/myname/myrepo.git
$ cd myrepo
# create *gh-pages* branch
$ git checkout -b gh-pages
# push *gh-pages* on GitHub
$ git push origin gh-pages
Then use the following code to push static contents to GitHub Pages:
REPO=github.com/myname/myrepo
REPO_DIR=/tmp/$(REPO)
publish:
@echo "\033[92mClone $(REPO) ...\033[0m"
rm -rf $(REPO_DIR)
git clone https://$(REPO).git $(REPO_DIR) --depth=1
@echo "\033[92mGit checkout gh-pages ...\033[0m"
cd $(REPO_DIR); git checkout gh-pages; rm -rf *
# Build you contents here
@echo "\033[92mPush to Remote Repo ...\033[0m"
cd $(REPO_DIR); git add .; git commit -m "update site"; git push
Tested on Ubuntu Linux 16.10, GNU make 4.1-9.
References:
[1] |
[2] |
[3] | Create a new branch with git and manage branches · Kunena/Kunena-Forum Wiki · GitHub |
[4] |