🔗 Programming · Beginner · Spartan Design

GitHub Getting Started

Accept your invite to github.com/spartandesign, sign in to GitHub from VS Code, clone your team's private repo, and make your first push back. End to end — takes about 15 minutes once your invite arrives.

// Section 01
Before You Start — The Prerequisites
This guide assumes you've finished the local-Git basics. If you haven't, do that first — you'll be lost without it. The five-minute checklist below confirms you're ready.

The Checklist

Run through these. Don't move on until every one is ✓.

You needHow to confirm
VS Code installedOpen it. If it opens, you're good.
Git installedIn a VS Code terminal: git --version prints a number.
Your user.name and user.email setgit config --global user.name prints your name.
A GitHub.com accountYou can sign in at github.com. Use the same email as your user.email — otherwise commits won't link to your profile.
Read the Git + VS Code Basics guideYou know what "commit" and "push" mean. You've done at least one local commit on a practice project.
⚠️
If you don't have a GitHub account yet, create one now at github.com/signup. Use your real name (or the name you go by). Pick a username you won't be embarrassed by — future-you's college applications and internship interviews will see it.

What You're About to Do

1

Accept your org invite

Your mentor sends you a GitHub invite to join spartandesign. You click "Accept" in your email or on GitHub.

2

Sign in to GitHub from VS Code

One click in VS Code, one OAuth approval in the browser, and VS Code can now talk to private repos on your behalf.

3

Clone your team's repo

Use the URL from the org page. VS Code pulls the whole project to your laptop.

4

Push your first commit

Open the project, make a tiny change (add your name to the README), commit, push. Refresh the GitHub page — your change is there.

📝
RECF EN4 reminder. The screenshots and click-paths in this guide are reference. Document your own onboarding in your engineering notebook with screenshots from your screen and your team's actual repo URL.
// Section 02
Accept Your Invite to spartandesign
Your mentor adds you to the org. GitHub emails you a "you've been invited" message and shows the invite on your dashboard. You click Accept. That's it.
◎ One time, per student

Step 1: Send Your Mentor Your GitHub Username

Before anyone can invite you, your mentor needs your GitHub username — not your email, not your real name, the username. Find it in two places:

Send that to your mentor over Discord. Something like: "Hey Coach, my GitHub username is @alex-spartan-2822, can you add me to the org?"

Step 2: Wait for the Invite Email

Within a few minutes, you'll get an email from noreply@github.com with the subject line "@spartandesign has invited you to join their organization". The email has a big Join @spartandesign button.

If it doesn't arrive, check spam, then check your GitHub dashboard: github.com/spartandesign will show a yellow banner at the top with the invite if you're signed in.

💭
Why an invite, not just signup? The spartandesign org has private repos. Private means GitHub won't let anyone in unless an org owner explicitly adds them. The invite is the formal "this person is on our team" record.

Step 3: Click Accept

Either click the button in the email, or follow the dashboard banner. GitHub asks "Are you sure you want to join @spartandesign?" Click Join @spartandesign.

You're now a member of the org. Visit github.com/spartandesign and you should see your team's repo listed under Repositories — if you don't, your mentor hasn't given you access to the specific repo yet. That's a separate permission. Discord them: "I'm in the org but don't see the team repo, can you add me?"

💡
Two layers of permission. "Member of the org" lets you SEE that repos exist. "Member of the team that owns the repo" lets you actually open the repo. Most teams configure this so the second permission is automatic, but if your mentor hasn't, the symptom is "I'm in the org but the repo says 404."
// Section 03
Sign In to GitHub From VS Code
Modern VS Code has built-in GitHub authentication. No personal access tokens, no SSH keys, no terminal commands. One click, one OAuth approval, done.
◎ One time, per laptop

The Easy Path

Open VS Code. In the bottom-left corner is a little person-icon (the Accounts button). Click it. The menu shows:

VS Code — Accounts menu
👤 Accounts → Sign in to use GitHub... → Sign in to use GitHub Pull Requests and Issues...

Click Sign in to use GitHub. Two things happen:

  1. VS Code shows a popup: "The extension 'GitHub' wants to sign in using GitHub." Click Allow.
  2. Your browser opens to github.com and asks "Authorize Visual Studio Code?" Click Authorize. The browser tab closes itself.

Back in VS Code, the bottom-left now shows your GitHub avatar. Done. Every Git operation from here on out (push, pull, clone) uses this signed-in identity automatically. No passwords. No tokens.

🎉
This step makes the rest trivial. The old way (Personal Access Tokens or SSH keys) involved generating credentials, copying them somewhere safe, configuring them per-repo. VS Code's GitHub integration replaces all of that with one OAuth flow. If you've seen older Git tutorials that talk about "PATs," you don't need them.

Verify the Sign-In Worked

Open the Command Palette (Cmd+Shift+P on Mac, Ctrl+Shift+P on Windows/Linux). Type GitHub: Sign in. If you're already signed in, you'll see GitHub: Sign Out (your-username) — that confirms the sign-in worked.

If the Browser Doesn't Open

Some school networks block the OAuth callback. If clicking "Sign in to use GitHub" hangs forever, switch to the Personal Access Token path:

  1. Sign in to GitHub in your browser.
  2. Go to Settings → Developer settings → Personal access tokens → Tokens (classic).
  3. Click Generate new token (classic). Give it a name like "VS Code laptop" and tick repo (the whole repo scope).
  4. Click Generate. Copy the token immediately — it's only shown once.
  5. Back in VS Code, when Git asks for a password, paste the token. (The username it asks for is your GitHub username; the password is the token, not your real password.)
⚠️
Treat the token like a password. Anyone with it can act as you on GitHub. Don't paste it into Discord, don't email it, don't commit it to a repo. If you accidentally expose one, immediately revoke it on the GitHub Tokens page and create a new one.
// Section 04
Clone Your Team's Repo
"Cloning" means downloading the whole repo — every file, every commit ever made, the full history — to your laptop. After cloning, your local folder is a fully-functional Git repository connected to the GitHub copy.
◎ Once per laptop, per repo

Get the Clone URL

Open github.com/spartandesign in your browser. Find your team's repo — it'll be named something like 2822-fall-2026 (your mentor will tell you the exact name).

Click into the repo. Click the green Code button. The dropdown shows tabs for HTTPS, SSH, GitHub CLI. Stay on HTTPS. Click the copy icon next to the URL. It'll look like:

clipboard contents after copying
https://github.com/spartandesign/2822-fall-2026.git

Clone From VS Code

In VS Code:

  1. Open the Command Palette (Cmd/Ctrl+Shift+P).
  2. Type Git: Clone. Hit Enter.
  3. Paste the URL. Hit Enter.
  4. VS Code asks where to put it. Pick a folder where you keep your projects (NOT your Desktop, NOT Downloads — somewhere stable). VS Code creates a subfolder named after the repo.
  5. When the clone finishes, VS Code asks "Would you like to open the cloned repository?" Click Open.

You're now looking at your team's project, with the entire commit history available locally. Open the Source Control panel (third icon in the left sidebar) — it shows the current branch (probably main) at the bottom.

Or Clone From the Terminal

If you prefer the terminal:

terminal — works from anywhere
$ cd ~/projects # or wherever you keep code $ git clone https://github.com/spartandesign/2822-fall-2026.git $ cd 2822-fall-2026 $ code . # open it in VS Code

What Just Got Downloaded

Look at the folder VS Code opened. You'll see:

What's thereWhat it means
src/ + include/ + firmware/The actual PROS project. You can build and upload immediately.
.git/ (hidden folder)The Git history. Don't touch — this is what makes the folder a real repo.
.gitignoreAlready configured. Don't change without thinking.
README.mdWhatever your mentor wrote describing the project.
Don't try to clone using "Download ZIP." The green Code button has a Download ZIP option — do not use it. A ZIP download is a snapshot, not a Git repo. You won't be able to commit, push, or pull. Always use Clone.
// Section 05
Your First Commit and Push
A safe practice change: add your name to the README. Then you commit, push, and watch it appear on github.com. Three minutes, end to end.
◎ Repeats every time you ship code

Make a Tiny Change

Open the README.md at the top of your project. If your team has a "Contributors" or "Team" section, add your name to it. If there's no such section, add one:

README.md — your tiny edit
## Contributors - Alex Rodriguez (Programmer, Fall 2026) - <previous contributors here>

Save the file. Watch the file in VS Code's left-sidebar file tree turn yellow with an M next to it (Modified).

Stage the Change

Open the Source Control panel (third icon, left sidebar). Under Changes, you'll see README.md listed. Hover it → click the + icon. The file moves to Staged Changes. That means: "Yes, include this file in the next commit."

Write a Commit Message

The text box at the top of the Source Control panel is where the commit message goes. Type something descriptive:

commit message
Add Alex Rodriguez to README contributors list

Then click the Commit button (the checkmark icon). The commit lands locally.

💬
Good commit messages are present-tense imperative. "Add stall detection" not "Added stall detection" or "Adding stall detection." The convention is so old it goes back to Linus Torvalds' original Git design — the message should complete the sentence "If applied, this commit will ...".

Push to GitHub

The commit is on your laptop, but not on GitHub yet. To push:

VS Code shows a small progress bar. When it finishes, your commit is on GitHub.

Verify It Worked

Refresh the repo page in your browser: github.com/spartandesign/2822-fall-2026. You should see:

That's the full loop. Edit, commit, push, see-it-on-GitHub. Every change you ever make from now on follows the same pattern.

⚠️
Pull before you push, every session. If your mentor or another teammate pushed something while you were offline, your local main is out of date. git pull first, work, then push. The Source Control panel's … menu has Pull right next to Push for exactly this reason. Make it muscle memory.
// Section 06
Auth Troubleshooting
When sign-in doesn't work. The four most common errors students hit and what each one actually means.

"Repository not found"

Symptom: git clone or git pull says fatal: repository not found or returns 404.

Two possible causes, in this order:

  1. The URL is wrong. Check spelling, capitalization, and the .git at the end. The URL is case-sensitive.
  2. You're not authenticated, or you don't have access to the private repo. The error message is identical for "doesn't exist" and "you can't see it" — that's a deliberate security choice. Confirm: (a) you accepted the org invite (Section 2), (b) you're signed in to GitHub from VS Code (Section 3), (c) your mentor added you specifically to that repo's team. The third one is what most students miss.

"Permission denied (publickey)"

Symptom: a long error mentioning ssh and publickey.

Cause: you're trying to use the SSH version of the repo URL (git@github.com:...) but you don't have SSH keys set up.

Fix: switch to HTTPS. Get the URL again from the GitHub Code button, make sure you're on the HTTPS tab, and re-clone. SSH is more secure but unnecessarily complex for VRC team workflows — HTTPS + VS Code's built-in GitHub auth is the simpler path.

"Authentication failed" When Pushing

Symptom: pushing prompts for username and password, you type your GitHub password, it says fatal: Authentication failed.

Cause: GitHub stopped accepting account passwords for Git operations in 2021. The "password" it wants is actually a Personal Access Token. Either:

"Updates were rejected"

Symptom: pushing fails with ! [rejected] main -> main (fetch first).

Cause: someone else (mentor, teammate) pushed to main while you were working. Your local copy is missing their commits.

Fix: pull first, then push.

terminal — or use Source Control's Pull button
$ git pull # grab the new commits $ git push # now this works

If git pull reports a merge conflict, see the survival guide in Git + VS Code Basics — When Things Break.

"Support contact" Path

If none of the above match, screenshot the entire VS Code error message and post it to the team Discord. Don't paraphrase the error — the exact text is what tells your mentor what went wrong. Likewise, don't run any "fix" commands you don't understand — the wrong fix can make things much harder to recover from.

🔥
Never paste your token, password, or any credential into Discord. Even in a private channel. If a screenshot accidentally captures one, immediately rotate it on GitHub.

You're Done. What's Next?

🏆 Comp-Branch Workflow

The branching pattern Spartan Design uses — create a comp branch before each event, work on it during, PR it back to main after.

📂 Version Control Reference

The conceptual side — what version control IS as an engineering practice. Useful for the engineering notebook.

📝
Notebook this onboarding. Take screenshots of: your invite email, the VS Code "Sign in to GitHub" success state, your first commit on github.com showing your username and avatar. Caption each one with what step it represents. That's exactly the kind of process documentation that scores on the engineering notebook rubric.
Related Guides
💻 Git + VS Code Basics → 🏆 Comp-Branch Workflow → 📂 Version Control Basics → 🔧 Setup Guide →
← ALL GUIDES