In a nutshell
index is your staging area, containing all the files that have been staged from your working tree using
git add <some-file>.
Where does the index fit in the Git workflow?
- You make a change.
- You stage the change to the index (
git add <file>).
- You commit changes in your staging area to your local repo (
- You push the changes from your local repo to the remote repo (
More specifically, the index is a single, large, binary file in
<repo>/.git/index that lists all the files in the current branch and their:
- SHA1 checksums