Chapter1 起步
参考自 https://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5
1.1 git 和 svn 的区别:
-
svn 集中式版本控制系统:
有一个中央服务器负责管理文件的所有修订版本。客户端只拉取最新版本,其原理如下图: -
git 分布式版本控制系统:
客户端不只拉取最新版本,而是会把代码仓库完成镜像下来(客户端也保存了所有修订版本的数据库),每一次的提取操作,实际上都是一次对代码仓库的完整备份,见下图:
git 的优点在于,即使服务器挂掉了,依然可以从客户端的本地仓库恢复。
1.2 文件的三种状态:
对于任何一个文件,在 git 内部都有三种状态:
已修改(moidified): 修改了某个文件,但还没有提交保存;
已暂存(staged): 把已修改的文件放在下次要提交的清单中;
-
已提交(committed): 文件已经被保存到了本地数据库中;
基本的 git 工作流程如下:
- 在工作目录修改某些文件;
- 对修改后的文件进行快照,然后保存到暂存区域;
- 提交更新,将保存在暂存区域的文件快照永久转储到 git 目录中;
1.3 初次运行 git 前的配置:
首先要配置你的用户名称和邮箱地址。这两条配置很重要,每次 git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新一起被永久纳入历史纪录:
$ git config --global user.name "dongyu"
$ git config --global user.email yin_caoyuan@126.com
要检查已有的配置信息,可以使用 git config --list 命令:
$ git config --list
user.name=dongyu
user.email=yin_caoyuan@126.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
也可以只检查某个变量的设定:
$ git config user.name
dongyu
要了解 git 的各项工具用法,可以使用如下命令:
$ git help <verb>
$ git <verb> --help
比如可以用如下方法学习 config 命令的用法:
$ git help config