/ / What Is GitHub? How Does It Work?

What Is GitHub? How Does It Work?

GitHub depicted with team building work photo

GitHub is a web-based platform where users can host Git repositories. It helps you facilitate easy sharing and collaboration on projects with anyone at any time.

GitHub also encourages broader participation in open-source projects by providing a secure way to edit files in another user’s repository.

How to host a Git repository on GitHub

To host (or share) a Git repository on GitHub, follow the steps below:

Step 1: Signup for an account

The first step to begin hosting on GitHub is to create a personal account — you can sign up on the official registration page.

Step 2: Create a remote repository in GitHub

After signing up for an account, create a home (i.e., a repository) in GitHub, for the Git repository you want to share.

Step 3: Connect your project’s Git directory to the remote repository

Once you’ve created a remote repository for your project, link the project’s .git directory — located locally on your system — with the remote repository on GitHub.

To connect to the remote repository, go inside the root directory of the project you want to share via your local terminal, and run:

git remote add origin https://github.com/yourusername/yourreponame.git


  • Replace yourusername in the code above with your GitHub username.
    Likewise, replace yourreponame with the name of the remote repository you want to connect to.
  • The command above implies that git should add the specified URL to the local project as a remote reference with which the local .git directory can interact.
  • The origin option in the command above is the default name (a short name) Git gives to the server hosting your remote repository.
    In other words, instead of the server’s URL, Git uses the short name origin.
  • It is not compulsory to stick with the server’s default name. If you prefer another name rather than origin, simply substitute the origin name in the git remote add command above with any name you prefer.
  • Always remember that a server’s short name (e.g., origin) is nothing special! It only exists — locally — to help you easily reference the server’s URL. So feel free to change it to a short name you can easily reference.
  • To rename any existing remote URL, use the git remote rename command like so:
git remote rename theCurrentURLName yourNewURLName
  • Whenever you clone (download) any remote repo, Git automatically names that repo’s URL origin. However, you can specify a different name with the git clone -o yourPreferredName command.
  • To see the exact URL stored for nicknames like origin, run git remote -v command.

Step 4: Confirm the connection

Once you’ve connected your Git directory to the remote repository, check whether the connection was successful by running git remote -v on the command line.

Afterward, check the output to confirm that the displayed URL is the same as the remote URL you intend to connect to.


Step 5: Push your local Git repo to the remote GitHub repo

After successfully connecting your local directory to the remote repository, you can then begin to push (upload) your local project upstream.

The code syntax used to upload (push) a local .git directory (your commits, branches, and files) to a remote repository is git push -u remoteName branchName.

In other words, to push your local .git directory, and assuming your remote URL’s short name is “origin”, run:

git push -u origin master


  • The command above implies that git should push your local master branch to the remote master branch located at the URL named origin.
  • Technically, you can substitute the origin option with the remote repository’s URL. Remember, the origin option is only a nickname of the URL you’ve registered into your local .git directory.
  • The -u flag (upstream/tracking reference flag) automatically links the .git directory’s local branch with the remote branch. Such linkage allows you to use git pull without any arguments.

Step 6: Confirm the upload

Lastly, go back to your GitHub repository page to confirm that Git has successfully pushed your local Git directory to the remote repository.


How to publish your website with GitHub Pages

After pushing your project to your remote repository, you can publish it easily on the web by following these steps:

Step 1: HTML file name

Make sure that the name of the main HTML file of your project is index.html.

Index HTML file

Step 2: Go to the Settings tab

On GitHub’s website platform, go into the repository of the project you want to publish and click the repository’s Settings tab.

GitHub project repo

Step 3: Go to the Pages tab

Click the Pages tab located towards the bottom of the side menu.

GitHub settings page

Step 4: Change the Source

On the GitHub Pages, under the Source section, change the branch from None to master.

GitHub pages section

Step 5: See your site live!

A notification saying, “Your site is published at https://your-username.github.io/your-github-repo-name/ would display.

Website published success notification

Now you can view — and publicize — your project at the specified URL!


By default, GitHub pages look for the index.html file in your project’s root folder. However, suppose your project’s index.html is in a subdirectory; you can still deploy it by following this GitHub gist’s instructions.

Wrapping up

GitHub is an online platform for hosting (or sharing) Git repositories. It helps you create an avenue to collaborate easily on projects with anyone, at any place, at any time.

Useful resources

Below are links to other content containing valuable information on GitHub.


Featured Image: Team building work by Tumisu

Git Cheat Sheet

FREE Git Cheat Sheet!

This Git cheat sheet is a handy collation of important commands. Use it to easily remember the Git commands you need for your projects.

Similar Posts