## Git目錄
'Git目錄'是為你的項目存儲所有歷史和元信息的目錄 - 包括所有的對象(commits,trees,blobs,tags), 這些對象指向不同的分支。
每一個項目只能有一個'Git目錄'(這和SVN,CVS的每個子目錄中都有此類目錄相反), 這個叫'.git'的目錄在你項目的根目錄下(這是默認設置,但并不是必須的). 如果你查看這個目錄的內容, 你可以看所有的重要文件:
~~~
$>tree -L 1
.
|-- HEAD # 這個git項目當前處在哪個分支里
|-- config # 項目的配置信息,git config命令會改動它
|-- description # 項目的描述信息
|-- hooks/ # 系統默認鉤子腳本目錄
|-- index # 索引文件
|-- logs/ # 各個refs的歷史信息
|-- objects/ # Git本地倉庫的所有對象 (commits, trees, blobs, tags)
`-- refs/ # 標識你項目里的每個分支指向了哪個提交(commit)。
~~~
(也許現在還有其它 文件/目錄 在 'Git目錄' 里面, 但是現在它們并不重要)
## 工作目錄
Git的 '工作目錄' 存儲著你現在簽出(checkout)來用來編輯的文件. 當你在項目的不同分支間切換時, 工作目錄里的文件經常會被替換和刪除. 所有歷史信息都保存在 'Git目錄'中 ; 工作目錄只用來臨時保存簽出(checkout) 文件的地方, 你可以編輯工作目錄的文件直到下次提交(commit)為止。
> 譯者注: '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
- 傳輸協議
- 術語表