About
This page is about the notion of repository and how it's implemented in Git.
The git repository is a subdirectory named .git called also GIT_DIR that contains all repository files.
It contains :
When you are working in git on the local file system (file explorer,..), you are working in the working area/tree which is by default a checkout of the head (the last commit in the current branch).
Directory Layout / Subdirectories
A newly-initialized .git directory typically looks like:
config
description
HEAD
hooks/
info/
objects/
refs/
where:
- config are configuration
- description is a description text (used only by the GitWeb program)
- hooks stores hooks (extension script)
- info contains global exclusion
- objects stores all the database objects (commit, file, directory)
- refs stores the named commit (named hash)
Bare
A bare repository 1) is an empty repository that was created on a server to be able to receive their first push.
Creation
git init --bare
Management
Create
Location
- The default location is the first subdirectory of your project home (ie where you have run git init) called also the root of the working tree
- Otherwise you can set it:
- as option via the –git-dir option of the git command line
- or via the GIT_DIR environment variable.
Example to list the branches
git --git-dir .\subdirectory\.git branch
Private / Public
Strategy:
- 2 different repositories where the relationship is build using symlinks (the ide should support it)
See also installing-projects-from-source
Sub-Project / Sub Repository
See Git - SubProject