Skip to main content
Git Basics Every Developer Should Know
Tutorial6 min read

Git Basics Every Developer Should Know

What is Version Control?

Version control is a system that records changes to files over time so you can recall specific versions later. Git is the most widely used distributed version control system — it tracks changes, enables collaboration, and never loses history.

Repositories

A repository (repo) is a folder that Git is tracking. Every repo contains a hidden `.git` directory that stores the full commit history. You can create a new repo with `git init` or download an existing one with `git clone`.

Commits

A commit is a snapshot of your project at a specific point in time. Each commit has:

- A unique hash (e.g., `1a2b3c4`)

- A commit message describing the change

- Author name and timestamp

- A pointer to the parent commit

Make your first commit:

git add .

git commit -m "Initial commit"

Branches

A branch is a movable pointer to a commit. By default you start on `main` (or `master`). Create branches to work on features or fixes in isolation:

git branch feature-login

git checkout feature-login

# or in one command:

git checkout -b feature-login

Remotes

A remote is a copy of your repository hosted on a server (GitHub, GitLab, etc.). The default remote after cloning is called `origin`.

git push origin main

git pull origin main

Next Steps

Practice these commands daily. Start with `git init`, make some commits, create branches, and push to GitHub. The more you use Git, the more intuitive it becomes.