GitHub for Dummies

From Zero to GitHub Hero

A hands-on workshop for everyone

Press Space or → to navigate

Welcome! 👋

Today's Goals

  • Learn what GitHub is and why it matters
  • Create your first repository
  • Master the basics: commits, branches, pull requests
  • Collaborate with others
  • Discover practical applications

Workshop Agenda

Part 1 (45 min)

  • What is GitHub?
  • Account Setup
  • First Repository
  • Branches

Part 2 (45 min)

  • Pull Requests
  • Collaboration
  • Issues & Projects
  • Real-world Uses

🎯 Remember: No "dumb" questions!

Icebreaker

What do you hope to learn about GitHub today?

(Share in chat or raise your hand)

What is GitHub?

Version Control Explained

Like "Track Changes" on steroids

  • Every change is saved
  • You can go back to any previous version
  • See who changed what and when
  • Work on multiple versions at once

Git vs. GitHub

Git

  • The tool
  • Tracks changes
  • Lives on your computer
  • Command line or GUI

GitHub

  • The platform
  • Hosts projects online
  • Collaboration features
  • Web interface

Real-World Analogies

  • Google Docs for code (and other files)
  • Time machine for your files
  • Dropbox + collaboration + history

GitHub's Capabilities

  • 📁 Store and organize projects
  • ⏰ Track changes over time
  • 👥 Collaborate with teams
  • 🔍 Review and discuss changes
  • 🤖 Automate workflows
  • 🌟 Showcase projects (portfolio)

Common Use Cases

  • Software development teams
  • Documentation management
  • Open source projects
  • Personal project portfolio
  • Project management
  • Website hosting
  • Team handbooks
  • Writing & publishing

Let's Create Your Account!

Follow along on your laptop

Account Setup Steps

  1. Visit github.com
  2. Click "Sign up"
  3. Enter email address
  4. Create password (strong!)
  5. Choose username (make it professional!)
  6. Verify you're human
  7. Verify email address

⚠️ Username tips: Professional, memorable, easy to type

Quick Interface Tour

  • Navigation bar - Search, notifications, profile
  • Profile - Your GitHub identity
  • Repositories tab - Your projects
  • Explore page - Discover projects

Understanding Repositories

What is a Repository?

A project folder with superpowers

  • Contains all your project files
  • Tracks complete history of changes
  • Includes collaboration tools
  • Can be public or private

Public vs. Private

Public

  • ✓ Anyone can see
  • ✓ Great for portfolio
  • ✓ Open source
  • ✓ Free

Private

  • ✓ Only you & collaborators
  • ✓ Sensitive projects
  • ✓ Work in progress
  • ✓ Also free! (With limitations)

README Files

Your project's front door

  • First thing people see
  • Explains what your project is
  • Provides instructions
  • Written in Markdown (.md)

Activity Time! 🚀

Create Your First Repository

  1. Click the "+" icon → "New repository"
  2. Name it: my-first-repo
  3. Add a description
  4. Choose Public or Private
  5. ✅ Check "Add a README file"
  6. Click "Create repository"

🎉 Congratulations! You have a repository!

Making Your First Changes

What is a Commit?

Saving a snapshot with a note

💾 Save + 📝 Note + ⏰ Timestamp = Commit

Commit Messages Matter!

✅ Good

  • "Add contact info to README"
  • "Fix typo in introduction"
  • "Update team member list"

❌ Bad

  • "changes"
  • "update"
  • "stuff"
  • "asdfasdf"

Activity Time! ✏️

Edit Your README

  1. Open your README.md file
  2. Click the pencil icon (Edit)
  3. Add some content about yourself
  4. Scroll down to "Commit changes"
  5. Write a clear commit message
  6. Click "Commit changes"

🎉 Your first commit!

View Your History

  • Click on commit count (e.g., "2 commits")
  • See all changes over time
  • Click a commit to see what changed
  • Green = added, Red = removed

This is time travel for your files! 🚀

Break Time! ☕

10 minutes

  • Stretch
  • Grab water/coffee
  • Ask questions
  • Catch up if needed

Branches: Working Safely

What is a Branch?

A parallel universe for your project

  • Experiment without breaking things
  • Work on features in isolation
  • Multiple people work simultaneously
  • Main branch stays safe

Branch Analogy: Writing a Book

  • Main branch = Published manuscript
  • Feature branch = Draft of new chapter
  • Work on draft without changing published version
  • When happy, merge it into the manuscript

Activity Time! 🌿

Create Your First Branch

  1. Click the branch dropdown (says "main")
  2. Type a new branch name: add-contact-info
  3. Click "Create branch"
  4. You're now on the new branch!
  5. Make some changes
  6. Commit the changes

The Magic Moment ✨

  1. Switch to your feature branch → See your changes
  2. Switch to main → Changes disappear
  3. Switch back → Changes reappear!

This is the power of branches!

Pull Requests

The Professional Way to Merge

What is a Pull Request?

"Hey team, can you review my work before we publish?"

  • Propose changes from one branch to another
  • Team reviews and discusses
  • Quality control
  • Knowledge sharing

Pull Request Workflow

  1. Create branch
  2. Make changes and commit
  3. Open Pull Request
  4. Review and discuss
  5. Make requested changes
  6. Merge to main
  7. Delete branch (cleanup)

Activity Time! 🔀

Create Your First Pull Request

  1. Click "Pull requests" tab
  2. Click "New pull request"
  3. Select your branch to merge into main
  4. Review the changes
  5. Click "Create pull request"
  6. Add title and description
  7. Click "Create pull request"

Merge Your PR

  1. Review the "Files changed" tab
  2. Add a comment on a line (optional)
  3. Go back to "Conversation" tab
  4. Click "Merge pull request"
  5. Confirm the merge
  6. Delete the branch

🎉 Your changes are now in main!

Collaboration: Working with Others

GitHub Issues

Your project's to-do list

  • 📋 Track tasks
  • 🐛 Report bugs
  • 💡 Suggest features
  • ❓ Ask questions
  • 💬 Discuss ideas

Partner Exercise! 👥

Find a Partner

  1. Exchange repository URLs
  2. Visit your partner's repository
  3. Create an issue with a suggestion
  4. Use @mention to notify them
  5. Respond to the issue they created for you

Forking

Make your own copy of someone else's project

  • Contributing to projects you don't own
  • Experimenting with others' code
  • Creating your own version

Fork → Make changes → Pull Request back

GitHub Beyond Code

Real-World Uses

  • 📚 Documentation teams - Track policy changes
  • ✍️ Writers - Collaborate on books/articles
  • 🎨 Designers - Manage design specs
  • 📊 Data teams - Version datasets
  • 📋 Project managers - Track requirements
  • 🏫 Educators - Share course materials

GitHub Projects

Built-in kanban boards

  • Visual task management
  • Drag-and-drop interface
  • Link issues and PRs
  • Free project boards

GitHub Pages

Free website hosting!

  • Host directly from repository
  • Perfect for portfolios
  • Documentation sites
  • Project landing pages

yourusername.github.io

What's Next?

Continue Learning

  • 🎓 GitHub Skills - skills.github.com
  • 📖 GitHub Docs - docs.github.com
  • 💬 Community Forum - github.community
  • 🎥 GitHub YouTube - youtube.com/github

Practice Suggestions

  • Create a personal portfolio repository
  • Contribute to open source
  • Use GitHub for your next team project
  • Build a GitHub Pages site
  • Explore GitHub Projects for task management

Next Skills to Learn

  • Advanced Markdown formatting
  • GitHub Projects (kanban boards)
  • GitHub Pages (free websites)
  • Git command line basics
  • GitHub Actions (automation)
  • Collaborating on larger teams

You Did It! 🎉

What You Learned Today

  • ✅ What GitHub is and why it's useful
  • ✅ Creating repositories
  • ✅ Making commits
  • ✅ Working with branches
  • ✅ Creating pull requests
  • ✅ Collaborating with others

Key Takeaway

"Use it or lose it!"

The best way to learn GitHub is to use it regularly

Q&A

Questions?

Now's your chance to ask anything!

Thank You! 🙏

Keep learning and building!


Workshop materials:
github.com/yourusername/github-workshop


Remember: Everyone was a beginner once.
You've got this! 💪