Sorry, I'm really slow at this. There's been a lot of conflicting information so I started everything from scratch following your instruction.
So here are the steps I took
1) create empty nikola site with 'nikola init mysite'
2) create empty repo on github: thientintruong/nikola.git
3) in the mysite directory, I initialized a git repo with 'git init', then 'git remote add origin g...@github.com:thientintruong/nikola.git'
4) edited the conf.py to
GITHUB_SOURCE_BRANCH = 'src'
GITHUB_DEPLOY_BRANCH = 'master
GITHUB_REMOTE_NAME = 'origin'
5) then 'nikola github_deploy'
But now I have the error in the shell:
error: pathspec 'master' did not match any file(s) known to git.
Traceback (most recent call last):
File "C:\Users\TTTT\Anaconda\lib\site-packages\doit\doit_cmd.py", line 121, in run
return command.parse_execute(args)
File "C:\Users\TTTT\Anaconda\lib\site-packages\doit\cmd_base.py", line 79, in parse_execute
return self.execute(params, args)
File "C:\Users\TTTT\Anaconda\lib\site-packages\nikola\plugin_categories.py", line 102, in execute
self._execute(options, args)
File "C:\Users\TTTT\Anaconda\lib\site-packages\nikola\plugins\command\github_deploy.py", line 104, in _execute
self._exit_if_output_committed()
File "C:\Users\TTTT\Anaconda\lib\site-packages\nikola\plugins\command\github_deploy.py", line 248, in _exit_if_output_committed
subprocess.check_call(['git', 'checkout', source])
File "C:\Users\TTTT\Anaconda\lib\subprocess.py", line 540, in check_call
raise CalledProcessError(retcode, cmd)
CalledProcessError: Command '['git', 'checkout', 'master']' returned non-zero exit status 1