[人工智能-深度学习-74]:环境

目录
第1章什么是Git
1.1 git简介
1.2 git , svn , cvs版本控制工具比较
第2章 基于git版本控制工具的代码托管平台
2.1 什么是代码托管平台
2.2 与gitee的比较
第1章什么是Git 1.1 git简介
Git(读音为/g?t/)是一个开源的分布式版本控制系统 , 可以有效、高速地处理从很小到非常大的项目版本管理 。也是Linus 为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件 。是一种基于命令行的远程版本控制系统 。
Git 是用于Linux内核开发的分布式版本控制工具 。与常用的版本控制工具 CVS,等不同 , 它采用了分布式版本库的方式 , 不必服务器端软件支持 , 使源代码的发布和交流极其方便 , 这对于诸如 Linux这样的大项目来说自然很重要 。
Git 最为出色的是它的合并跟踪(merge )能力 。
实际上 , 内核开发团队决定开始开发和使用 Git 来作为内核开发的版本控制系统的时候 , 世界开源社群的反对声音不少 , 最大的理由是 Git 太艰涩难懂 , 从 Git 的内部工作机制来说 , 的确是这样 。但是随着开发的深入 , Git 的正常使用都由一些友好的脚本命令来执行 , 使 Git 变得非常好用 , 即使是用来管理我们自己的开发项目 , Git 都是一个友好 , 有力的工具 。现在 , 越来越多的著名项目采用 Git 来管理项目开发 。
目前GIT已经可以在下使用 , 主要方法有二:和 。和Linux使用方法类似 , 版本的GIT提供了友好的GUI(图形界面) 。
1.2 git , svn , cvs版本控制工具比较

[人工智能-深度学习-74]:环境

文章插图
时下最火的三个版本控制工具:git , svn , cvs 。
[人工智能-深度学习-74]:环境

文章插图
(1)并发修改:多个开发人员同时对同一个文件进行修改 。
【[人工智能-深度学习-74]:环境】git , svn , cvs都支持 。原来曾有个rcs的版本控制系统就不支持并发修改 ,  如果有人正在修改某一个文件 , 那么这个文件就会被锁定 , 直到修改完毕 , 下一个开发人员才能对该文件进行修改 , 而cvs是从rcs发展过来的 , 并做出了改进 。
(2)并发提交
版本控制中的版本记录是通过开发人员的提交操作来触发的 , 也就是说 , 要进行提交操作 , 才会记录版本号 。
如果修改了多个文件后提交 , cvs会一个一个的提交 , 每个文件被修改后 , 都会记录一个不同的版本号 。而svn和git可以同时提交多个文件的修改 , 并且这多个文件记录的是同一个版本号 。
cvs每个文件都会记录版本号 , 其占用的磁盘空间会比较大 , 但是如果出现bug的时候 , cvs定位bug的时候只需要定位到某个版本号 , 就可以直接定位到某个文件 , 其找bug的速度是非常快的 。svn和git就得从批量提交的多个文件中一个一个查找 。
(3)历史轨迹
如果一个文件的名称被修改了 , cvs就无法追踪到修改文件名之前的历史版本 。而svn和git即使文件名被修改了 , 他们依然可以追踪到这个文件的所有历史版本 。
(4)分布式:是否需要一台专门的服务器来运行这个版本控制 。
cvs和svn是一个集中式的版本控制器 , 他们需要一台专门的版本控制服务器 。