Pro Git 读书笔记

一. 起步

1. 集中式版本控制缺点:中央服务器的单点故障。git

 分布式版本控制优势:客户端并不仅提取最新版本的文件快照,而是把代码仓库完整地镜像下来。github

           这么一来,任何一处协同工做用的服务器发生故障,过后均可以用任何一个镜像出来的本地仓库恢复。vim

           由于每一次的提取操做,实际上都是一次对代码仓库的完整备份。服务器

           它也有中央服务器的概念,不过这也只是相似于其余备份的客户端,做用只是利于其余客户端克隆而已。编辑器

2. 直接记录快照,而非文件差别。分布式

 Git 和其余版本控制系统的主要差异在于,Git 只关心文件数据的总体是否发生变化,而大多数其余系统则只关心文件内容的具体差别。工具

 每次提交更新时,它会纵览一遍全部文件并对文件做一快照(即作一次备份),而后保存一个指向此次快照的索引。spa

3. 在保存到 Git 以前,全部数据都要进行内容的校验和(checksum)计算,并将此结果做为数据的惟一标识和索引。即不可能在你修改了文件或目录以后,Git 一无所知。.net

4. 在 Git 内都只有三种状态:已修改(modified),已暂存(staged),已提交(committed)。版本控制

5. Git初始配置: git config 命令

git config --global user.name "John Doe"
git config --global user.email johndoe@example.com

git config --global core.editor vim //文本编辑器
git config --global merge.tool vimdiff //差别分析工具
git config --list //查看配置信息
  • /etc/gitconfig 文件:系统中对全部用户都广泛适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。
  • ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。
  • 当前项目的 git 目录中的配置文件(也就是工做目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。
  • 每个级别的配置都会覆盖上层的相同配置,因此 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。

二. Git基础

1. 初始化

git init
git add .
git add <file>
git commit -m "init"
git clone git://github.com/schacon/grit.git
git clone git://github.com/schacon/grit.git mygrit

 2. 基本操做

git status

 





 参考连接: http://git.oschina.net/progit/

相关文章
相关标签/搜索