web development, github, hosting, portfolio,

Step-by-Step Tutorial: Deploying Your Portfolio with GitHub Hosting

Coding Rhodes Coding Rhodes Follow Apr 29, 2025 · 5 mins read
Step-by-Step Tutorial: Deploying Your Portfolio with GitHub Hosting
Share this

Creating a personal portfolio website is essential for showcasing your skills, especially if you’re a developer, designer, or digital creator.

But getting started can feel intimidating. Fortunately, with GitHub hosting via GitHub Pages, you can deploy a fully functional and visually appealing static portfolio site—for free.

This beginner-friendly guide walks you through each step: from creating your files to launching your site online, all with GitHub hosting. No backend code or expensive hosting plans needed.


Why a Portfolio Matters

Why Every Professional Needs a Portfolio

In a digital-first world, your online presence often makes the first impression. Whether you’re applying for jobs, freelance gigs, or university programs, a personal portfolio helps you:

  • Demonstrate technical and creative skills
  • Showcase completed projects
  • Share your resume, links, and testimonials
  • Improve visibility through search engines

Who Should Create a Portfolio?

  • Frontend and backend developers
  • UI/UX designers
  • Content creators and marketers
  • Students and job seekers in tech

Tools and Skills You Need

Required Tools

  • GitHub Account (free)
  • Git Installed on Your Machine (optional but recommended)
  • Text Editor (VS Code, Atom, Sublime, etc.)

Skills Needed

  • Basic understanding of HTML and CSS
  • Optional: Familiarity with Git commands

Project Structure for Portfolio Website

portfolio-website/
├── index.html
├── about.html
├── projects.html
├── contact.html
├── css/
│   └── styles.css
├── js/
│   └── scripts.js
└── assets/
    └── images/

This keeps your project modular and maintainable.


Step-by-Step: Hosting Portfolio Using GitHub Hosting

Step 1: Create a GitHub Account

Sign up at GitHub.com if you don’t already have an account.

Step 2: Install Git

Download Git from git-scm.com. Configure your Git identity:

git config --global user.name "Your Name"
git config --global user.email "your@email.com"

Step 3: Create a New Repository

Creating a new GitHub repository for portfolio deployment

  1. Log into GitHub
  2. Click “+” > “New repository”
  3. Name it: yourusername.github.io
  4. Set it to Public
  5. Initialize with a README (optional)

Step 4: Add Your Portfolio Files

You can either upload files directly or use Git:

Option A: Direct Upload

  1. Navigate to your repository
  2. Click on “Add file” > “Upload files”

Option B: Git Upload

git clone https://github.com/yourusername/yourusername.github.io
cd yourusername.github.io
# Add all files here
git add .
git commit -m "Add portfolio website"
git push origin main

Step 5: Configure GitHub Pages

A personal portfolio successfully deployed via GitHub Pages

  1. Go to repository settings
  2. Scroll to Pages section
  3. Set source branch to main and folder to /
  4. Click Save
  5. Visit https://yourusername.github.io to see your site

Deployment Time

Deployment takes 1–3 minutes. Refresh the URL after a few moments.


Optional: Use a Template or Jekyll Theme

Adding a Theme

Create _config.yml:

theme: minima

Add and commit the file. GitHub will rebuild your site using the theme.

Using Markdown for Content

Create .md files for content like blogs or bios:

---
title: "About Me"
layout: default
---

I am a passionate frontend developer...

Enhancing Your Portfolio

Add Animations or Interactions

Use JavaScript or libraries like AOS (Animate on Scroll) or GSAP.

Optimize for Mobile

Use responsive design techniques with CSS media queries.

Improve Accessibility

  • Use semantic HTML tags
  • Add alt text to images
  • Maintain color contrast

Connecting a Custom Domain

Step 6: Purchase a Domain

Use platforms like Namecheap, GoDaddy, or Google Domains.

Step 7: Add DNS Records

Create a CNAME record pointing to yourusername.github.io

Step 8: Add a CNAME File in Repo

Create a file named CNAME and add your domain name:

www.yourdomain.com

Monitoring and Analytics

Add Google Analytics

Insert this in your <head>:

<script async src="https://www.googletagmanager.com/gtag/js?id=YOUR_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'YOUR_ID');
</script>

Privacy-Friendly Alternatives

  • Plausible Analytics
  • Fathom

Troubleshooting Common Issues

Website Not Showing?

  • Ensure index.html is in root
  • Check that GitHub Pages is enabled

Styles Missing?

  • Verify file paths
  • Make sure CSS is linked correctly

Custom Domain Not Working?

  • Double-check DNS and CNAME file
  • Wait up to 24 hours for propagation

Best Practices

  • Use version control (commit often)
  • Maintain clean, semantic HTML
  • Compress images for faster load times
  • Write meaningful commit messages

Real-World Examples

Example 1: Developer Portfolio

Clean layout, sections for About, Projects, Contact, Resume download.

Example 2: Designer Portfolio

Visual showcase with grid galleries and CSS animations.


Alternatives to GitHub Hosting

Netlify

Supports drag-and-drop and continuous deployment.

Vercel

Great for React-based portfolios.

Cloudflare Pages

Secure and fast with GitHub integration.


Final Thoughts

Deploying your portfolio with GitHub hosting is one of the easiest and most cost-effective ways to establish your online presence. It’s fast, secure, and integrates with the tools you already use. Whether you’re starting from scratch or migrating an existing project, this tutorial equips you with everything you need to publish and maintain a professional portfolio site using GitHub Pages.


Additional Resources

Join Newsletter
Get the latest news right in your inbox. We never spam!
Coding Rhodes
Written by Coding Rhodes Follow
Hi, I am Coding Rhodes, the author of this article, Do let me know If you have any Questions