There are two basic types of GitHub Pages: User/Organization Pages and Project Pages. They are nearly identical, but there are a few important differences between them.
Type of GitHub Pages site | Pages default domain & host location on GitHub Enterprise | Location of the source files for building your Pages site |
---|---|---|
User Pages site | username.github.io |
master |
Organization Pages site | orgname.github.io |
master |
Project Pages site owned by a user account | username.github.io/projectname |
master , gh-pages , or a /docs folder on master
|
Project Pages site owned by an organization | orgname.github.io/projectname |
master , gh-pages , or a /docs folder on master
|
User & Organization Pages
User & Organization Pages live in a special repository dedicated to GitHub Pages files. You will need to name this repository with the account name.
- You must use the
username.[hostname]
naming scheme. - Content from the
master
branch will be used to build and publish your GitHub Pages site.
You can only use your own account name for a User or Organization Page repository. A repository like joe/bob.github.io
will not build a User Pages site.
When User Pages are built, they are available at http(s)://[hostname]/pages/<username>
(or http(s)://pages.[hostname]/<username>
if subdomain support is enabled on your instance).
Building your User & Organization Pages
User Pages can be built by any user account. They can also use deploy keys to automate the process.
Organization Pages can be built by any member with push access to the repository. To automate builds, you can set up a machine user as a member of your organization. Deploy keys aren't supported for Organization Pages.
Project Pages
Unlike User and Organization Pages, Project Pages are kept in the same repository as their project. Both personal accounts and organizations can create Project Pages. The URL for a personal account's Project Page will be
'http(s)://[hostname]/pages/<username>/<projectname>/
, or http(s)://pages.[hostname]/<username>/<projectname>/
if subdomains are enabled (for more information, contact your site administrator)'
, while an organization's URL will be
'http(s)://[hostname]/pages/<orgname>/<projectname>/
, or http(s)://pages.[hostname]/<orgname>/<projectname>/
if subdomains are enabled (for more information, contact your site administrator)'
. The steps for creating Project Pages are the same for both.
Project Pages are similar to User and Organization Pages, with a few slight differences:
- You can build and publish Project Pages sites from the
master
orgh-pages
branch. You can also publish your site from a/docs
folder on yourmaster
branch. For more information, see "Configuring a publishing source for GitHub Pages."
Warning: If the URL for your Pages site contains a username or organization name that begins or ends in a dash, or contains consecutive dashes, then people browsing with Linux will receive a server error when they visit the site. To fix this, change your GitHub username to remove non-alphanumeric characters. For instructions on how to do this, see "Changing your GitHub username."