Git学习一:版本控制工具简介、Git和TortoiseGit安装

1 版本控制简介

  • 版本控制
    工程设计领域中使用版本控制管理工程蓝图的设计过程。在IT 开发过程中也可以使用版本控制思想管理代码的版本迭代。
  • 版本控制工具
    • 集中式版本控制工具:CVS、SVN、VSS等,以SVN为例,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就郁闷了。
    • 优点:集中管理方式在一定程度上看到其他开发人员在干什么,而管理员也可以很轻松掌握每个人的开发权限。
    • 缺点:服务器单点故障,容错性差。
      Git学习一:版本控制工具简介、Git和TortoiseGit安装
    • 分布式版本控制工具:以Git为例,没有中央服务器,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
    • 优点:
      • 大部分操作在本地完成,不需要联网
      • 完整性保证
      • 尽可能添加数据而不是删除或修改数据
      • 分支操作非常快捷流畅
      • 与Linux 命令全面兼容
        Git学习一:版本控制工具简介、Git和TortoiseGit安装

2 版本控制工具应该具备的功能

  • 协同修改
    • 多人并行不悖的修改服务器端的同一个文件。
  • 数据备份
    不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态。
  • 版本管理
    • 在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空间,提高运行效率。这方面SVN 采用的是增量式管理的方式,而Git 采取了文件系统快照的方式。
  • 权限控制
    • 对团队中参与开发的人员进行权限控制。
    • 对团队外开发者贡献的代码进行审核(Git 独有)。
  • 历史记录
    • 查看修改人、修改时间、修改内容、日志信息。
    • 将本地文件恢复到某一个历史状态。
  • 分支管理
    • 允许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率。

3 Git安装 (安装包:https://git-scm.com/download)

  • 没有空格的非中文目录(安装任何程序都应秉承的原则)
    Git学习一:版本控制工具简介、Git和TortoiseGit安装
  • 使用默认值,不创建桌面快捷方式、邮件菜单添加Git Bash和Git GUI、选择Git大文件支持等
    Git学习一:版本控制工具简介、Git和TortoiseGit安装
  • 完全兼容linux命令,推荐使用VIM编辑器
    Git学习一:版本控制工具简介、Git和TortoiseGit安装
  • 不设置环境变量,仅在Git Bash中使用Git命令
    Git学习一:版本控制工具简介、Git和TortoiseGit安装
  • 使用默认值,选择OpenSSL库连接远程仓库
    Git学习一:版本控制工具简介、Git和TortoiseGit安装
  • Windows风格换行符和Unix风格换行符的转换,checkout时转换为CRLF,commit时转换为LF
    Git学习一:版本控制工具简介、Git和TortoiseGit安装
  • 使用默认值,GitBash使用Git默认的终端,不使用Windows默认控制台
    Git学习一:版本控制工具简介、Git和TortoiseGit安装
  • 使用默认值,启用文件缓存,启用Git授权的管理器,最后执行安装Git学习一:版本控制工具简介、Git和TortoiseGit安装