git 和其他版本控制系统的区别

其他大部分版本控制系统主要保存的是文件信息。当修改文件之后,文件内容发生了变化。这时保存文件,不是将整个文件重新存储,覆盖原有文件内容,而是保存与原文件内容有差异的部分,原始文件不变动。当恢复到某次保存时的文件状态时,恢复当时保存的文件变化的内容,得到和当时一样的文件。git 对于文件采取的方式是,当提交更新或者保存项目状态时,制作所有文件的快照并保存快照的索引。当文件内容没有发生变化时,保留一个指向之前存储的原文件的链接。

git 的特点

1.大部分操作在本地完成,不需要网络。
2.git 在存储文件或目录前会根据文件内容或目录结构计算得到一个 SHA-1 散列(由 40 个 16 进制数组成),将这个序列存入 Git 数据库中。
3.git 的操作只会向 Git 仓库中添加数据。

git 管理的文件所处的三种状态

  • 已修改(modified):文件已经修改,但没有提交到数据库中。
  • 已暂存(staged):标记当前已修改状态的文件,将其添加到下次提交的快照中。
  • 已提交(committed):数据已经安全保存到本地数据库中。

git 项目的三个工作区域

  • 工作目录(Work Directory):又称工作树(working tree),是项目某个版本的单个 checkout,这些文件从 Git 目录的压缩数据库中提取,放入磁盘以供使用和修改。
  • 暂存区域(Staging Area):Git 目录中的一个文件,存储有关下次提交的信息,又称“索引”。
  • Git 仓库(Repository):Git 目录,存储项目的元数据及对象数据库。克隆仓库时复制的就是这里的数据。

git 工作流程

  1. 在工作目录中修改文件。
  2. 暂存文件,将文件的快照放置在暂存区域。
  3. 提交,将暂存区的文件快照永久地存储到 Git 仓库中。

首次配置 git

对于 Windows,配置文件保存在 (1)用户目录下的.gitconfig文件中;(2) git 安装目录下的/etc/gitconfig文件中。

// 配置git编辑器
git config --global 编辑器名
// 列出所有配置信息
git config --list
// 列出指定项的配置信息
git config 配置名
// 查看特定命令的帮助信息
git help 命令名

参考

[1] Scott Chacon, Ben Straub, Pro Git.

 posted on 2019-12-23 11:05  x-yun  阅读(65)  评论(0编辑  收藏  举报