How to Use GitHub: A Beginner's Guide to Version Control & Collaboration

2026-06-05·SaaS Setup

Key Takeaways

  • GitHub is a platform for hosting Git repositories and collaborating on code. It's used by over 100 million developers worldwide.
  • You can manage version history with commits, branches, and pull requests—essential for team projects or solo backups.
  • GitHub Actions lets you automate tests, deployments, and other tasks directly from your repository.
  • A well-maintained GitHub profile acts as a professional portfolio for showcasing your work.

What is GitHub and Why Should You Care?

GitHub is essentially a social network for code. It hosts Git repositories (over 200 million as of 2024) and adds collaboration features like issues, pull requests, and project boards. If you're new to programming or working on a team, it's the standard tool for tracking changes and avoiding the dreaded "final_v3_final_actual.docx" problem.

I've seen teams lose hours merging conflicting files via email. GitHub eliminates that mess. It's also free for public repositories, which is perfect for learning or open-source contributions.

Step 1: Set Up Git and a GitHub Account

First, you need Git on your machine. Download it from [git-scm.com](https://git-scm.com) (it's about 50 MB). During installation, leave the default options—they work for 95% of users.

Create a GitHub account at github.com. Choose a username that looks professional (e.g., "jane-doe-dev" not "xXx_gamer_xXx").

Now connect your local Git to GitHub. Open a terminal and run:

```bash

git config --global user.name "Your Name"

git config --global user.email "your-email@example.com"

```

Then generate an SSH key for secure authentication. Type:

```bash

ssh-keygen -t ed25519 -C "your-email@example.com"

```

Hit Enter for defaults. Copy the public key (found in `~/.ssh/id_ed25519.pub`) and add it under GitHub Settings > SSH and GPG keys.

Step 2: Create Your First Repository and Make a Commit

A repository (or "repo") is a folder for your project. On GitHub, click the green "New" button. Name it something like "hello-world" and initialize with a README file.

On your computer, clone the repo:

```bash

git clone git@github.com:your-username/hello-world.git

cd hello-world

```

Create a simple file, say `index.html` with `

Hello, World!

`. Now track it with Git:

```bash

git add index.html

git commit -m "Add index.html"

```

The commit is a snapshot. Push it to GitHub:

```bash

git push origin main

```

Your code now lives online. Every change you save locally needs this cycle: `add`, `commit`, `push`.

Step 3: Branching and Pull Requests (The Collaboration Magic)

Branches let you work on features without breaking the main code. Let's say you want to add a CSS file. Create a branch:

```bash

git checkout -b add-css

```

Make changes, commit, and push:

```bash

echo "body { background: #f0f0f0; }" > style.css

git add style.css

git commit -m "Add style.css"

git push origin add-css

```

Now on GitHub, you'll see a prompt to create a pull request (PR). Click it. A PR is a request to merge your branch into `main`. Add a description like "Adds basic styling to the homepage." Then click "Create pull request."

Your team (or you) can review the code, leave comments, and finally merge. This is how teams avoid overwriting each other's work.

Step 4: Automate with GitHub Actions

Actions let you run scripts when events happen. For example, you can automatically run tests every time someone pushes code.

Create a file at `.github/workflows/test.yml`:

```yaml

name: Run Tests

on: [push]

jobs:

test:

runs-on: ubuntu-latest

steps:

- uses: actions/checkout@v4

- name: Run a one-line script

run: echo "All tests passed!"

```

Commit and push this file. Go to your repo's "Actions" tab—you'll see a workflow running. It's that simple. Real-world Actions can compile code, deploy to servers, or send notifications.

Step 5: Build Your Portfolio with GitHub

Your GitHub profile is your resume for developers. Keep it clean:

  • Pin 6 key repositories: Go to your profile, click "Customize your pins," and select your best projects.

  • Write good READMEs: Each repo should have a short description, installation steps, and usage examples. I always include a screenshot or GIF—it makes the project tangible.
  • Contribute to open source: Even fixing a typo in a popular project shows you can collaborate. Look for "good first issue" labels.

Comparison: GitHub vs. Alternatives

FeatureGitHubGitLabBitbucket
------------------------------------
Free private reposYes, unlimitedYes, unlimitedUp to 5 users
CI/CD built-inGitHub Actions (2000 min/month free)GitLab CI (400 min/month free)Pipelines (50 min/month free)
Community size100M+ users~30M users~10M users
Best forOpen source, portfolioDevOps, self-hostedEnterprise, Jira integration

GitHub wins for beginners because of its massive community and abundance of tutorials.

Common Pitfalls and How to Avoid Them

  • Merge conflicts: They happen when two people edit the same file. Don't panic. Pull the latest changes (`git pull`), resolve the marked sections in the file, then commit.
  • Accidentally committing sensitive data: Use a `.gitignore` file to exclude passwords, API keys, or large files. GitHub also has a secret scanning tool that alerts you.
  • Forgetting to push: You might commit locally but not push. Always check `git status` before closing your terminal.

FAQ

Q: Do I need to know command-line Git to use GitHub?

A: Not necessarily. GitHub Desktop provides a visual interface for common tasks like committing and branching. But learning the command line gives you more control and is essential for advanced workflows.

Q: How do I undo a commit?

A: Use `git revert ` to create a new commit that undoes the changes. This is safe for shared branches. If you haven't pushed yet, `git reset --soft HEAD~1` unstages the last commit.

Q: Can I host a website on GitHub for free?

A: Yes, via GitHub Pages. Go to your repo's Settings > Pages, select the main branch, and you'll get a URL like `username.github.io/repo-name`. It supports static sites and Jekyll themes. I've hosted several project demos this way—it's reliable and zero-cost.

Now go create your first repo. The only way to learn Git is to make mistakes and fix them. I still Google commands after ten years of use.