Sometimes you want to have a subdirectory on some branch be the root directory of a repository’s master branch.
For the sake of this example, let’s pretend the subfolder containing your site is named dist.
Remove the dist directory from the project’s .gitignore file.
Make sure git knows about your subtree (the subfolder with your site).
git add dist && git commit -m "Initial dist subtree commit"Use subtree push to send it to the master branch on GitHub.
git subtree push --prefix dist origin masterBoom. If your folder isn’t called dist, then you’ll need to change that in each of the commands above.
If you do this on a regular basis, you could also create a script containing the following somewhere in your path:
#!/bin/sh
if [ -z "$1" ]
then
echo "Which folder do you want to deploy to GitHub Pages?"
exit 1
fi
git subtree push --prefix $1 origin masterWhich lets you type commands like:
git gh-deploy path/to/your/site