常见的版本控制工具
- Git
- SVN(Subversion)
- CVS(Concurrent Version System)
- VSS(Microsoft Visual SourceSafe)
- TFS(Team Foundation Server)
- Visual Studio Online
版本控制分类
1.本地版本控制
记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用。如RCS
2.集中版本控制 SVN、CVS、VSS
所有的版本数据都保存在单一的服务器上,如果这个服务器损坏,那么所有的版本信息都会丢失,当然可以定期备份。
协同开发者必须联网,才能从服务器上获取历史版本信息。若不联网,则只有本地以前所同步的版本。
3.分布式版本控制 Git
所有版本信息仓库全部同步到本地的每个用户,这样即可在本地查看所有的版本历史,可以离线在本地提交,只需在联网时push到相应的服务器或其他用户那里。
由于每个用户那里保存的是所有版本的数据,只要一个用户的设备没有问题,就可以恢复所有的数据,但增加了本地存储空间的占用。
Git与SVN主要区别
SVN是集中式版本控制系统,需要联网才能工作,对网络带宽要求高。版本库集中放在中央服务器,工作的时候,用的都是自己的电脑,需要从服务器拉取最新版本,再工作,再提交。
Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库。
Linux和Git之父李纳斯·托沃兹(Linus Benedic Torvalds)1969芬兰
Git安装与配置
下载安装
git官网 链接:https://git-scm.com/
下载后直接点击下一步安装即可。
Git配置
所有的配置文件,都保存在本地,其实就是一些文件
查看不同级别的配置文件:
#查看系统配置
git config --system --list
#查看当前用户(global)配置
git config --global --list
Git 相关的配置文件位置:
1)Git\etc\gitconfig: Git安装目录下的gitconfig 是system系统级的
2)C:\User\Administrator\ .gitconfig 当前登录用户的配置 是global全局的
设置用户名和邮箱
重要的,必要的。因为Git提交都会使用该信息,它被永远嵌入到你的提交中。
git config --global user.name "Bob"
git config --global user.email "11111@qq.com"
如果传递了global参数,则只要这一次设置,以后会一直使用该信息。
如果不想所有的用户都使用该信息,则只在特定的项目中运行该命令,且不加参数global。
总之,global为全局配置,不加的话为某个项目的特定配置。
Git基本理论
Git的四个工作区域如下
工作目录(Working Directory):工作区,平时存放项目代码的地方
暂存区(Stage/Index):用于临时存放改动,事实上它只是一个文件。在提交进入repo之前,可以把所有的更新放在暂存区。
本地仓库(Repository):安全存放数据的位置,里面有你提交到所有版本的数据。HEAD指向最新放入仓库的版本
远程仓库(Remote):托管代码的服务器
Git项目搭建
本地仓库的搭建:
创建本地仓库有两种方法:
一是创建全新的仓库
#在当前目录新建一个Git代码库
git init #使用此命令
执行完后,可以看到,在项目目录多出了一个.git目录,关于版本等的所有信息都在这个目录里。
二是克隆远程仓库
#克隆一个项目和它的整个代码历史(版本信息)
git clone [url]
Git文件操作
文件的四种状态:
Untracked:未跟踪
Unmodify:文件已入库,未修改
Modified:文件已修改,仅仅是修改,并没有进行其他的操作
Staged:暂存状态
查看文件状态
#查看指定问价的状态
git status [filename]
#查看所有文件状态
git status
#git add . #添加所有文件到暂存区
#git commit -m "消息内容" #将暂存区中的内容提交到本地仓库中,并对其标以信息
使用码云
网址:gitee.com
设置本机绑定SSH公钥,实现免密登录
#进入 C:\Users\Administrator\.ssh 目录
#生成公钥
ssh-keygen
将公钥(带.pub的文件里的内容)复制到码云即可。
参考:狂神说https://mp.weixin.qq.com/s/Bf7uVhGiu47uOELjmC5uXQ