Git索引是一個在你的工作目錄和項目倉庫間的暫存區(staging area). 有了它, 你可以把許多內容的修改一起提交(commit). 如果你創建了一個提交(commit), 那么提交的是當前索引(index)里的內容, 而不是工作目錄中的內容。
## 查看索引
使用?[git status](http://www.kernel.org/pub/software/scm/git/docs/git-status.html)?命令是查看索引內容的最簡單辦法。你運行 git status命令, 就可以看到: 哪些文件被暫存了(就是在你的Git索引中), 哪些文件被修改了但是沒有暫存, 還有哪些文件沒有被跟蹤(untracked)。
~~~
$>git status
# On branch master
# Your branch is behind 'origin/master' by 11 commits, and can be fast-forwarded.
#
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: daemon.c
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
#
# modified: grep.c
# modified: grep.h
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# blametree
# blametree-init
# git-gui/git-citool
~~~
如果完全掌握了索引(index), 你就一般不會丟失任何信息, 只要你記得名字描述信息(name of the tree that it described)就能把它們找回來.
同時, 你最好能對Git一些基本功能的運作原理, 和它與其它版本控制系統的區別有一個清晰的理解. 如果你在這一章沒有完全理解, 我們會在后面的章節重新回顧這些主題. 好了, 下面我們要去了解如何安裝, 配置和使用Git。
- 1. 介紹
- 歡迎使用Git
- GIT對象模型
- Git目錄 與 工作目錄
- Git索引
- 2. 第一步
- 安裝Git
- 安裝與初始化
- 3. 基本用法
- 獲得一個Git倉庫
- 正常的工作流程
- 分支與合并@基礎
- 查看歷史 -Git日志
- 比較提交 - Git Diff
- 分布式的工作流程
- Git標簽
- 4. 中級技能
- 忽略某些文件
- rebase
- 交互式rebase
- 交互式添加
- 儲藏
- Git樹名
- 追蹤分支
- 使用Git Grep進行搜索
- Git的撤消操作 - 重置, 簽出 和 撤消
- 維護Git
- 建立一個公共倉庫
- 建立一個私有倉庫
- 5. 高級技能
- 創建新的空分支
- 修改你的歷史
- 高級分支與合并
- 查找問題的利器 - Git Bisect
- 查找問題的利器 - Git Blame
- Git和Email
- 定制Git
- Git Hooks
- 找回丟失的對象
- 子模塊
- 6. Git生態體系
- Git 與之 Windows
- 使用Git進行系統部署
- 與 Subversion 集成
- 從其他代碼管理工具遷移到Git
- 圖形化的Git
- Git倉庫托管
- Git的其它用法
- Git的腳本支持
- Git 與編輯器
- 7. 原理解析
- Git是如何存儲對象的
- 查看Git對象
- Git引用
- Git索引
- 打包文件
- 更底層的Git
- 傳輸協議
- 術語表