GitHub Pages lets you host a professional website for free — forever, with a custom domain, with no hosting bill. Here’s the complete tutorial from zero to live site, written for students who have never used Git before.
What You’ll Need
- A GitHub account (free at github.com)
- Git installed on your computer (git-scm.com)
- A text editor (VS Code is free and recommended)
- Basic HTML file (or a template — covered below)
Step 1: Create Your GitHub Account and Repository
- Go to github.com → Sign up
- Verify your email address
- Click «New repository» (the green button on your dashboard)
- Critical step: Name the repository exactly
yourusername.github.io— replace «yourusername» with your actual GitHub username - Set it to Public
- Check «Add a README file»
- Click «Create repository»
Step 2: Get a Free Portfolio Template
Instead of building from scratch, use a free template. The best free GitHub Pages portfolio templates:
- minimal-mistakes — Clean, professional Jekyll theme. Popular for academic/developer portfolios.
- al-folio — Designed for academics. Includes publications, CV, and projects sections.
- Cayman theme — Built into GitHub Pages. Activate in Settings → Pages → Theme Chooser (zero setup required).
- Start Bootstrap Resume template — Search GitHub for «startbootstrap-resume» — one-page resume site.
Fastest path: In your repository Settings → Pages → Theme Chooser → select Cayman. Your site is live in under 5 minutes with no code.
Step 3: Edit Your Content
The main file to edit is index.html (or index.md for Markdown-based themes). Open it in VS Code and replace the placeholder content: your name, title, About section, links to projects (GitHub repos, Figma files, live sites), contact email, and LinkedIn URL.
Step 4: Push Your Changes to GitHub
Open Terminal (Mac) or Command Prompt (Windows) in your project folder and run:
git init
git add .
git commit -m "Initial portfolio"
git branch -M main
git remote add origin https://github.com/yourusername/yourusername.github.io.git
git push -u origin main Your site is now live at https://yourusername.github.io — usually within 60 seconds.
Step 5: Add a Custom Domain (Optional, Also Free)
- Register a domain name (Namecheap, Porkbun — roughly $10–$15/year)
- In your domain registrar’s DNS settings, add a CNAME record pointing to
yourusername.github.io - In your GitHub repository: Settings → Pages → Custom domain → enter your domain
- Check «Enforce HTTPS»
GitHub Pages provides free HTTPS for custom domains automatically via Let’s Encrypt.
How to Update Your Portfolio
Every time you add a new project or update your resume:
git add .
git commit -m "Added [project name]"
git push Changes are live within 30–60 seconds. No FTP, no file manager, no hosting dashboard. This is also excellent practice for the Git workflow used by every software team.
👉 See also: How to Make a Portfolio Website for Free — comparison of all no-code options.