EverydayOneCat
🌍
一、版本控制
1.版本控制工具应该具备的功能
- 协同修改
- 多人并行不悖的修改服务器端的同一个文件。
- 数据备份
- 不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态。
- 版本管理
- 在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空间,提高运行效率。这方面SVN 采用的是增量式管理的方式,而Git 采取了文件系统快照的方式。
- 权限控制
- 对团队中参与开发的人员进行权限控制。
- 对团队外开发者贡献的代码进行审核——Git 独有。
- 历史记录
- 查看修改人、修改时间、修改内容、日志信息。
- 将本地文件恢复到某一个历史状态。
- 分支管理
- 允许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率。
2.版本控制工具
集中式版本控制工具:CVS、SVN、VSS……
分布式版本控制工具:Git、Mercurial、Bazaar、Darcs……
二、Git简介
1.基本信息
简史:
官网地址:https://git-scm.com/
优势:
1、大部分操作在本地完成,不需要联网
2、完整性保证
3、尽可能添加数据而不是删除或修改数据
4、分支操作非常快捷流畅
5、与Linux 命令全面兼容
安装:进入官网下载安装包,安装过程全部默认下一步就好。
2.Git结构
3.Git和代码托管中心
代码托管中心的任务:维护远程库
- 局域网环境下:GitLab 服务器
- 外网环境下:GitHub、码云
4.本地库和远程库
团队内部协作:
跨团队协作:
三、Git命令行操作
1.本地仓库初始化
命令:git init
2.设置签名
作用:区分不同开发人员的身份
辨析:这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系。
项目级别/仓库级别:仅在当前本地库范围内有效
git config user.name jy_pro
git config user.email jyEmail_pro@qq.com
信息保存位置:./.git/config 文件
系统用户级别:登录当前操作系统的用户范围
git config --global user.name jy_pro
git config --global user.email jyEmail_pro@qq.com
信息保存位置:~/.gitconfig 文件
级别优先级:
- 就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别的签名
- 如果只有系统用户级别的签名&