1. What is a Git Repository?
What is it?
A Git repository (repo) is a project folder that Git tracks, including the files, commits, branches, and change history.
A repository can be created using:
git init
Or copied from an existing remote repository:
git clone <repository-url>
Simple Flow
Project Folder
↓
git init
↓
Git Repository
↓
Git tracks changes and history
Key Points
- Repository = Git-tracked project
- Contains source code and version history
- Can have multiple branches and commits
- Can be local or remote
Interview Answer
A Git repository is a project managed by Git. It contains the project files along with their commit history, branches, and other version-control information.
2. Local Repository vs Remote Repository
| Local Repository | Remote Repository |
|---|---|
| Stored on the developer's machine | Stored on a remote server/platform |
| Used for local development | Used for team collaboration |
git commit saves here |
git push sends commits here |
| Can work without internet | Network connection is needed to access it |
Example: local .git repository |
GitHub, GitLab, Azure Repos |
Simple Flow
Local Repository
↓ git push
Remote Repository
↓ git pull
Local Repository
Example
git add .
git commit -m "Added login" # Local repository
git push origin main # Local → Remote
git pull origin main # Remote → Local
Interview Answer
A local repository is stored on the developer's machine, where we make commits and manage code locally. A remote repository is hosted on a server such as GitHub or Azure Repos and is mainly used for sharing code and team collaboration.
How to Create a Git Repository?
There are two common ways.
1. Create a Local Repository
Go to your project folder:
cd MyProject
git init
git init creates a new Git repository in the current folder.
Then:
git add .
git commit -m "Initial commit"
Flow:
Project Folder
↓
git init
↓
git add .
↓
git commit
↓
Local Git Repository
2. Create from an Existing Remote Repository
If a repository already exists in GitHub or Azure Repos, use:
git clone <repository-url>
Example:
git clone https://github.com/user/MyProject.git
This downloads the project and automatically creates the local Git repository.
Important Difference
git init
→ Start Git for an existing/new local project.
git clone <url>
→ Create a local copy of an existing remote repository.
Interview Answer
We can create a Git repository locally using
git init. If a remote repository already exists in GitHub or Azure Repos, we usegit cloneto create a local copy of that repository along with its Git history.