repo
In Git, a repo, is a centralized storage area that maintains all project files and their version history. It acts as a database that logs every modification to files, capturing details about the changes, the authors, timestamps, and reasons for each update.
Key components
- Working directory: This is where you'll find the files and folders of your project. It's the directory where you'll make changes to the code.
- Index (or staging area): This is a temporary storage location where you prepare changes you want to commit. Think of it as a "waiting area" for your changes before they're officially recorded in the repo.
- Local repository (or .git folder): This is where Git stores all the metadata about your project, including commit history, branches, and tags. It's usually a hidden .git folder inside your working directory.
When you run the Git repository initialization command git init, a hidden .git folder is created, storing all metadata about your project. You then gain access to the full range of Git commands, allowing you to manage and modify your project
A Git repo can be:
- Local: stored on your own computer, for personal projects or testing purposes
- Remote: stored on a server, such as GitHub, GitLab, or Bitbucket, for collaborative projects or open-source projects
- Central: a single, authoritative repository that serves as the main hub for the project, often used in corporate environments
Overall, a Git repo is a centralized system for managing code changes, allowing you to track history, collaborate with others, and maintain different versions of your project.