Staging, Committing, History
Understand the staging area, how to commit changes, and explore your project's commit history using `git log`.
Staging, Committing, History is a free DevOps Bootcamp lesson on CoddyKit — lesson 1 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the DevOps Bootcamp learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
The Git Staging Area
In Git, the staging area (also called the index) is a crucial intermediate step between your working directory and your repository.
Think of it as a waiting room where you prepare changes before permanently saving them.
It allows you to group related changes into a single, meaningful commit.
Adding Files to Staging
To move changes from your working directory into the staging area, you use the git add command.
You specify the file(s) you want to stage. This tells Git, "Hey, I want to include these changes in my next commit!"
git add myfile.txtStaging Multiple Changes
You don't have to add files one by one. Git provides convenient ways to stage multiple files or even all changes at once.
git add .stages all new and modified files in the current directory and its subdirectories.git add -ustages only modified and deleted files (not new ones).
git add .What is a Commit?
A commit is like taking a snapshot of your project at a specific point in time. It permanently records the staged changes into your Git repository.
Each commit has a unique ID, an author, a timestamp, and a commit message explaining what changes were made.
Making Your First Commit
Once your changes are in the staging area, you can commit them using git commit. You should always include a clear and concise message to describe the changes.
The -m flag lets you provide the commit message directly.
git commit -m "Add initial project files"Checking Your Project Status
The git status command is your best friend! It tells you:
- Which files are untracked (new and not yet added to Git).
- Which files have changes that are ready to be committed (staged).
- Which files have changes that are not yet staged.
git statusReviewing Unstaged Changes
Before staging or committing, it's good practice to review your changes. The git diff command helps you see exactly what's changed in your files.
By default, git diff shows changes in your working directory that are *not* yet staged.
git diffReviewing Staged Changes
What if you want to see the changes you've already moved to the staging area, before committing them?
You can use git diff --staged (or git diff --cached) to compare the staged changes with the last commit.
git diff --stagedViewing Commit History
To see a chronological list of all commits in your repository, use the git log command. This shows you who made changes, when, and what their commit messages were.
It's essential for understanding your project's evolution!
git logSimplifying the Log Output
The default git log output can be quite detailed. For a quick overview, you can use options to simplify it:
git log --oneline: Shows each commit on a single line.git log --graph: Displays an ASCII art tree of the commit history.
git log --onelineStaging & Committing Quiz
You've just modified index.html and created a new file style.css. You want to include both in your next commit.
Which sequence of commands correctly stages and commits these changes?
Recap: Staging, Committing, History
Great job! In this lesson, you learned the core steps of Git's local workflow:
- The staging area (index) is where you prepare changes.
- Use
git addto move changes to the staging area. - A commit is a permanent snapshot of your staged changes.
- Use
git commit -m "message"to save a commit. git statusshows your working directory's state.git diffhelps review changes.git logallows you to explore your project's history.
These commands are fundamental to tracking your project's progress!
Frequently asked questions
Is the “Staging, Committing, History” lesson free?
Yes — the full text of “Staging, Committing, History” is free to read here on the web, and the DevOps Bootcamp course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the DevOps Bootcamp course, upgrade to CoddyKit PRO.
What will I learn in “Staging, Committing, History”?
Understand the staging area, how to commit changes, and explore your project's commit history using `git log`. You practise DevOps Bootcamp with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start DevOps Bootcamp?
No prior experience is required. DevOps Bootcamp on CoddyKit is structured for beginners through advanced learners; this is — lesson 1 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “Staging, Committing, History” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this DevOps Bootcamp lesson?
Yes. Every DevOps Bootcamp lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Staging, Committing, History
- Undoing Changes Locally
- Branching & Merging Basics
- Stashing Work in Progress