歡迎來使用Git, 它是一個快速的分布式版本控制系統。
這本書的目的是為那些初學者盡快熟悉Git,提供了一個良好的起點。
此書將以介紹Git如何存儲數據做為開始,讓你了解它和其它版本控制系統有什么不同的背景。這大約要花你20分鐘的時間。
接下來,我們會講一些Git的**基本用法**,那些你將在90%的時間都在使用的命令。這些東東能給一個不錯的使用的基礎,也許這些命令就是你將使用的全部命令。這一節大約會你30分鐘的時間來讀。
其后,我們會講一些稍微復雜的**Git中級用法**,這些用法也許會替換掉前面的基本用法。在你了解前面的基本用法后, 這些看起來像魔術一樣的命令,你可能會用起來很爽。
如果前面的這些東東你都掌握了,我們就會講**Git的高級用法**,這些高級用法也許大多數人很少使用,但是在特定的環境會非常有用。學習這些用法(命令),你將能獲得全面的日常Git知識; 你將能成為Git大師。
即然你學會了Git, 我們將會講**在Git中工作**。我們將要學習 Git 配合腳本、部署工具、編輯器和其它工具一起工作。這一節將幫助你將Git 集成進你的工作環境。
最后我們會有一系列的文章:**low-level documentation**,這些可能對那些Git hacker 有用,包括Git 的內核和協議如何運作等等。
## 反饋與參與
如果你發現本書的中任何錯誤,或者你想參與進此書的編寫,你可以給我寫email?[schacon@gmail.com](mailto:schancon@gmail.com), 或者你也可以用git得到本書的原始 檔案(source)?[http://github.com/schacon/gitbook](http://github.com/schacon/gitbook), 然后給我發一個補丁(patch)或者一個pull請求
譯者注:如果有哪位朋友發現中譯本的錯誤,或者是想參加此書的翻譯,也可以給我發email?[liuhui998@gmail.com](mailto:liuhui998@gmail.com), 或者你也可以用git得到本書的原始 檔案(source)?[http://github.com/liuhui998/gitbook](http://github.com/liuhui998/gitbook), 然后給我發一個補丁(patch)或者一個pull請求
## 參考
這本書由很多不同的資料匯聚起來,如果你更愿意閱讀原始的文章和資料,下面提供了它們的url:
* [Git User Manual](http://www.kernel.org/pub/software/scm/git/docs/user-manual.html)
* [The Git Tutorial](http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html)
* [The Git Tutorial pt 2](http://www.kernel.org/pub/software/scm/git/docs/gittutorial-2.html)
* ["My Git Workflow" blog post](http://osteele.com/archives/2008/05/my-git-workflow)
- 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
- 傳輸協議
- 術語表