1. 什么是版本控制

最热门的版本控制系统:

  • Git
  • Subversion
  • Mercurial

版本控制系统模型:

  • 集中式模型-所有用户都连接到一个中央的主仓库。
  • 分布式模型-每个用户都在自己的计算机上拥有完整的仓库。

版本控制系统的目的:

  1. 保留项目详细的历史记录。
    1. 可以看到某个时间范围内项目进度。
    2. 可以回退到项目的某个阶段。
    3. 可以恢复数据或文件。
  2. 在不同版本上进行工作。

2. 日常开发中的版本控制

文本编辑中常用的 cmd + zctrl + z
这种撤销功能就是版本控制。

各大文档编辑器的自动保存功能。

3. Git 和版本控制术语

  • 版本控制系统/源代码管理器
    • VCS/SCM
  • 提交
    • Commit
    • 快照
  • 仓库
    • (Repository/repo)
    • 目录
  • 工作目录/工作区
    • Working Directory
  • 检出
    • Checkout
    • 将仓库中的内容复制到工作目录下。
  • 暂存区/暂存索引/索引
    • Staging Area/Staging Index/Index
    • 准备工作台
  • SHA
    • commit 的 ID 编号。40 个字符。
  • 分支
    • Branch
    • 从主开发流程中分支出来的新的开发流程。

Git 工作的结构和流程图如下:

屏幕快照 2019-09-28 上午8.09.29.png

屏幕快照 2019-09-28 上午8.13.43.png

4. Mac/Linux 设置

初次配置 Git

  1. # 设置你的 Git 用户名
  2. git config --global user.name "<Your-Full-Name>"
  3. # 设置你的 Git 邮箱
  4. git config --global user.email "<your-email-address>"
  5. # 确保 Git 输出内容带有颜色标记
  6. git config --global color.ui auto
  7. # 对比显示原始状态
  8. git config --global merge.conflictstyle diff3
  9. git config --list

VSCode 设置

  1. git config --global core.editor "code --wait"