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.
Run through these. Don't move on until every one is ✓.
| You need | How to confirm |
|---|---|
| VS Code installed | Open it. If it opens, you're good. |
| Git installed | In a VS Code terminal: git --version prints a number. |
Your user.name and user.email set | git config --global user.name prints your name. |
| A GitHub.com account | You 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 guide | You know what "commit" and "push" mean. You've done at least one local commit on a practice project. |
Your mentor sends you a GitHub invite to join spartandesign. You click "Accept" in your email or on GitHub.
One click in VS Code, one OAuth approval in the browser, and VS Code can now talk to private repos on your behalf.
Use the URL from the org page. VS Code pulls the whole project to your laptop.
Open the project, make a tiny change (add your name to the README), commit, push. Refresh the GitHub page — your change is there.
spartandesignBefore anyone can invite you, your mentor needs your GitHub username — not your email, not your real name, the username. Find it in two places:
github.com/<username>. The bit after the slash is what you send.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?"
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.
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.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?"
Open VS Code. In the bottom-left corner is a little person-icon (the Accounts button). Click it. The menu shows:
Click Sign in to use GitHub. Two things happen:
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.
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.
Some school networks block the OAuth callback. If clicking "Sign in to use GitHub" hangs forever, switch to the Personal Access Token path:
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:
In VS Code:
Cmd/Ctrl+Shift+P).Git: Clone. Hit Enter.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.
If you prefer the terminal:
Look at the folder VS Code opened. You'll see:
| What's there | What 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. |
.gitignore | Already configured. Don't change without thinking. |
README.md | Whatever your mentor wrote describing the project. |
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:
Save the file. Watch the file in VS Code's left-sidebar file tree turn yellow with an M next to it (Modified).
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."
The text box at the top of the Source Control panel is where the commit message goes. Type something descriptive:
Then click the Commit button (the checkmark icon). The commit lands locally.
The commit is on your laptop, but not on GitHub yet. To push:
git pushVS Code shows a small progress bar. When it finishes, your commit is on GitHub.
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.
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.Symptom: git clone or git pull says fatal: repository not found or returns 404.
Two possible causes, in this order:
.git at the end. The URL is case-sensitive.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.
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:
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.
If git pull reports a merge conflict, see the survival guide in Git + VS Code Basics — When Things Break.
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.
The branching pattern Spartan Design uses — create a comp branch before each event, work on it during, PR it back to main after.
The conceptual side — what version control IS as an engineering practice. Useful for the engineering notebook.