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/config
文件):这里的配置仅仅针对当前项目有效。.git/config
里的配置会覆盖 /etc/gitconfig
中的同名变量。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