💡 What Git actually does
Git is a version control system: it keeps a full history of every change in your project, so you can go back in time, see who changed what, and work on the same code as other people without overwriting each other. GitHub is just a place to host those Git projects online. You only need a small set of commands to be productive — this post covers them.
⚙️ One-time setup
Before your first commit, tell Git who you are. This is stamped onto every commit you make:
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
You only do this once per machine.
📥 Getting a project
To download an existing project and its full history, clone it:
git clone https://github.com/nmatei/chrome-bible-utilities.git
This creates a folder with the code and a hidden .git directory that tracks everything.
🔁 The everyday loop
This is the cycle you will repeat all day. First, see what changed:
git status
Stage the files you want to save. Stage a single file when you only want part of your work in this commit:
git add app/contact-form.js
Or stage everything you've changed at once:
git add .
Then commit the staged files with a short message describing the change:
git commit -m "Add contact form validation"
A commit is a saved snapshot in your local history. To share it, push it to GitHub:
git push
⬇️ Getting other people's changes
When teammates push their work, bring it into your copy with:
git pull
Run this often — especially before you start working — so you stay up to date.
🙈 Don't commit everything
Some files should never go into Git: build output, node_modules, secrets, editor settings. List them in a .gitignore file at the root of your project and Git will skip them:
node_modules/
.env
.DS_Store
🎯 That's the core
Clone once, then loop status → add → commit → push, and pull to stay current. Master these and you're already productive.
📚 Read next
- Working with Git in a Team — rebasing, keeping local changes, and resolving merge conflicts.
- Multiple GitHub Accounts with SSH — one machine, more than one account.