Git Basics
What Is Git and the Terms Every Beginner Keeps Looking Up
Git comes with a wall of jargon. Here's what Git is, plus plain-English answers to what Git stash, Git pull, and Git LFS actually mean, and how the terms turn into commands.
Git's real hurdle isn't the ideas. It's the words. Start using it and a wall of them lands on you at once — repositories, commits, stashes, LFS, pull, push. Every one sounds like it should be self-explanatory. None of them are, not until somebody says it in plain English. So if you've been quietly typing what is git or what is git stash into a search bar near midnight, good, you're in the right place. We're going to take the terms you keep tripping over and walk them one at a time.
Worth keeping in mind: every hobby pulls this trick. Take up cooking, sit down to learn chess, or spend a few evenings trying your luck on a platform like spinsahara — same deal every time, a little pile of insider words that feels like a locked door until, one day, it isn't. Git works exactly like that. The jargon isn't a bouncer keeping you out. It's shorthand, invented by people who use this stuff all day. Pick up a handful and the door just opens.
What Is Git and Why It Runs the Software World
Let's start at the very top. Git is a version-control system — basically a tool that keeps the history of your files as you change them. Save a meaningful lump of work and Git quietly takes a snapshot, so later you can look back, line up two versions, or undo the whole mess when an experiment goes nowhere. It was made for code, though people now track books, config files, even contracts with it. The reason it took over? It let a whole crowd work on one project at the same time without trampling each other's changes.
Once you're in, a few words come up again and again. This is the short glossary that unlocks most of the conversation.
| Term | What it actually means | Where you first meet it |
|---|---|---|
| Repository | The project folder Git is tracking | When you clone or init |
| Commit | One saved snapshot of your work | Every time you save progress |
| Branch | A parallel line of work | Trying something without risk |
| Remote | The shared copy, often on GitHub | Pushing or pulling code |
Get those four straight and suddenly most Git tutorials stop sounding like a foreign broadcast.
"You don't learn Git by memorizing commands. You learn it by understanding four or five nouns, and the commands start explaining themselves."
Git Stash When You Need to Step Away Mid Task
So, what is git stash? Here's the scene. You're elbow-deep in a change when an urgent fix lands on some other branch. What you've got isn't ready to commit, but you can't exactly carry it over with you. Stash is the drawer you sweep it into. It stows your half-done changes, hands you a clean workspace, and keeps the lot safe until you come back for it.
Honestly, people reach for stash way more than they'd expect. A few of the usual moments:
- •An urgent bug drags you onto another branch mid-change
- •You want fresh code but your local edits are a mess
- •You're not convinced an experiment is worth a real commit yet
- •You need to test something on a clean version, fast
- •You notice you've been working on the wrong branch
One caveat worth tattooing somewhere: stash is meant to be temporary. It's a holding area, not a filing cabinet — lean on it for weeks and that's precisely how half-finished work slips through the cracks.
Git Pull and Keeping Your Copy in Sync
Where stash is about pausing your own work, what is git pull is the opposite — it's about catching up with everyone else's. On a team, the shared copy of the project never sits still. Pull is the command that reaches over to that shared copy, scoops up whatever's new, and merges it into the version on your machine. The payoff: you're building on today's code, not something that went stale three days ago.
Peek under the hood and it's really two little steps taped together — fetch the changes, then merge them. Usually painless. It only gets hairy when your edits and the incoming ones land on the same lines, and that's where merge conflicts crawl out of. It's also the whole reason pulling often beats pulling once in a blue moon.
What Git LFS Does for Oversized Files
And now the oddball of the bunch. What is git lfs? LFS is short for Large File Storage, and it exists for one reason: Git was built for text, not giant binary lumps. Source code is featherweight, and Git tracks its history gorgeously. But toss a 500MB video or a stack of high-res textures into a normal repo and the thing crawls, because Git loyally tries to keep every single version of that file, in full.
LFS sidesteps all that. It leaves a tiny pointer in the repository and parks the actual heavy file elsewhere. Some stuff is a natural fit for it:
- •Video and audio files bundled into a project
- •High-resolution images and design source files
- •3D models, textures, and game assets
- •Large datasets that ship next to the code
- •Compiled binaries that have to live in the repo
On a pure code project you might never go near it. But the second media or design files show up, LFS is the thing keeping your repository from seizing up.
Turning These Terms Into Commands You Can Actually Run
Knowing the words gets you most of the way. Eventually, though, you've got to type something — and that's when the familiar what is the git command for this creeps back in. Good news: each term lines up pretty neatly with an instruction, so you almost never have to summon them from memory cold.
Here's roughly how the vocabulary matches what you'd actually run.
| What you want to do | The term | A rough command |
|---|---|---|
| Save a snapshot | Commit | git commit -m "..." |
| Catch up with the team | Pull | git pull |
| Set work aside | Stash | git stash |
| Handle huge files | LFS | git lfs track |
And you don't even have to trust your memory on the exact wording. Loads of people just say what they're trying to do in plain English and let a tool like GitFluence spit back the precise command — so the term itself is really the only thing you need to carry around.
"Learn the nouns, and the verbs — the commands — are never more than a quick lookup away."
None of this is half as forbidding as it looks on first contact. Git is version control. Stash is a drawer for unfinished work. Pull keeps you in sync. LFS wrangles the files too big for Git's taste. Figure out what each word means and the commands tag along on their own. Start with the vocabulary, lean on a helper for the syntax, and bit by bit the whole thing stops reading like a language you never signed up to learn.