Skip to main content
Git Basics
CHAPTER 02

Git Initialization and Repository Basics

Updated: May 15, 2026
15 min read

# CHAPTER 2

Git Initialization and Repository Basics

1. Introduction

Now that Git is installed on your machine, it sits there quietly doing nothing. Git does not automatically track every file on your computer. You must explicitly tell Git *which* specific folders you want it to monitor. When you tell Git to monitor a folder, that folder transforms into a Repository (often called a "Repo"). In this chapter, we will learn how to initialize a new repository, understand the hidden mechanics of how Git stores data, and explore the three fundamental "Trees" (areas) that govern the Git workflow.

2. Learning Objectives

By the end of this chapter, you will be able to:
  • Define what a Git Repository is.
  • Initialize a new repository using git init.
  • Understand the purpose of the hidden .git folder.
  • Differentiate between the Working Directory, the Staging Area, and the Commit History.

3. Beginner Explanation

Imagine you are an artist in an art studio.
  1. 1. The Working Directory (Your Easel): This is where you are currently painting. It's messy, you are making mistakes, and nothing is final.
  1. 2. The Staging Area (The Loading Dock): When you think a painting is finished, you move it off the easel and put it in a box on the loading dock. It's ready to go, but hasn't shipped yet.
  1. 3. The Commit History (The Museum Archive): The delivery truck arrives, seals the box, and locks it away permanently in the museum's vault. It now has a date and a serial number. It is saved forever.

This is exactly how Git works. You edit files (Working Directory), you prepare them to be saved (Staging Area), and then you lock them into history permanently (Commit).

4. Initializing a Repository (git init)

To turn a normal folder into a Git Repository, you use one simple command.
bash
123456
# 1. Create a new folder
mkdir my_first_project
cd my_first_project

# 2. Tell Git to start tracking this folder
git init

When you type git init, the terminal will say: Initialized empty Git repository in .... What actually happened? Git created a hidden folder inside your project called .git.

5. The Hidden .git Folder

The .git folder is the actual "time machine." It is where Git stores all the snapshots, all the history, and all your configuration settings for this specific project.
  • Rule #1: NEVER delete the .git folder. If you delete it, your project turns back into a normal folder, and all your version history is destroyed instantly.
  • Rule #2: You never need to manually go inside the .git folder or edit the files inside it. The git commands do that for you.

6. Mini Project: Create First Git Repository

Let's initialize a repository and verify its status.

Step-by-Step Walkthrough:

  1. 1. Open your terminal.
  1. 2. Navigate to your Desktop: cd Desktop
  1. 3. Create a folder named "website": mkdir website
  1. 4. Go into the folder: cd website
  1. 5. Initialize Git: git init
  1. 6. Check the status of your repository:
``bash git status ` *(Git will reply: "On branch master. No commits yet." This means the repository is set up and waiting for you to create files).*

7. Best Practices

  • One Repo Per Project: You should run git init at the root folder of your project (e.g., the folder containing your index.html). Do NOT run git init inside your entire Documents folder, or Git will try to track every single personal file you own, which will cause massive performance issues.

8. Common Mistakes

  • The "Repo in a Repo" Mistake: If you run git init inside FolderA, and then go into FolderA/Folder_B and run git init again, you will corrupt your Git history. A folder should only have one .git file at its root. If you accidentally initialize a repo in the wrong place, you can fix it simply by deleting the hidden .git folder (rm -rf .git).

9. Exercises

  1. 1. What does the git init command actually do under the hood?
  1. 2. Explain the conceptual difference between the "Working Directory" and the "Staging Area".

10. FAQs

Q: How do I see the hidden
.git folder? A: If you are in the terminal, type ls -la. The -a flag tells Linux/Mac to show hidden files (files that start with a dot). If you are using Windows Explorer, you must click "View" -> "Hidden Items" at the top of the window.

11. Summary

In Chapter 2, we transformed a basic, static folder into a dynamic, version-controlled environment using the
git init command. We uncovered the hidden .git` directory, which serves as the core database for the repository's history. Finally, we introduced the three-tier architecture of Git—the Working Directory, the Staging Area, and the Commit History—establishing the conceptual framework required to actually save our code changes.

12. Next Chapter Recommendation

Our repository is initialized, but it's completely empty. It's time to write some code and take our first "Snapshot" in time. Proceed to Chapter 3: Git Commits and Tracking Changes.

Finish this Chapter

Save your progress on your learning path and prepare for coding interview challenges.

Discussion

Join the discussion

Log in or create a free account to participate.

Sort: ·