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 gh-pages
Project Pages site owned by an organization orgname.github.io/projectname gh-pages

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:

  • The gh-pages branch is used to build and publish Project Pages sites.

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."