Git deployer plugin for Hexo.
$ npm install hexo-deployer-git --save
You can configure this plugin in _config.yml
.
# You can use this:
deploy:
type: git
repo: <repository url>
branch: [branch]
message: [message]
name: [git user]
email: [git email]
extend_dirs: [extend directory]
ignore_hidden: false # default is true
# or this:
deploy:
type: git
message: [message]
repo:
github: <repository url>,[branch]
gitcafe: <repository url>,[branch]
extend_dirs:
- [extend directory]
- [another extend directory]
ignore_hidden:
public: false
[extend directory]: true
[another extend directory]: false
- repo: Repository URL
- branch: Git branch to deploy the static site to
- message: Commit message. The default commit message is
Site updated: {{ now('YYYY-MM-DD HH:mm:ss') }}
. - name and email: User info for committing the change, overrides global config. This info is independent of git login.
- extend_dirs: Add some extensions directory to publish. e.g
demo
,examples
- ignore_hidden (Boolean|Object): whether ignore hidden files to publish. the github requires the
.nojekyll
in root.- Boolean: for all dirs.
- Object: for public dir and extend dir:
public
: the public dir defaults.- [extend directory]
hexo-deployer-git
works by generating the site in .deploy_git
and force pushing to the repo(es) in config.
If .deploy_git
does not exist, a repo will initialized (git init
).
Otherwise the curent repo (with its commit history) will be used.
Users can clone the deployed repo to .deploy_git
to keep the commit history.
git clone <gh-pages repo> .deploy_git
Remove .deploy_git
folder.
$ rm -rf .deploy_git
MIT