版本控制
版本控制介绍
- 个人开发改进迭代
- 团队协作
版本控制工具介绍
功能
- 协同修改:多人并行不悖的修改服务端的同一个文件
- 数据备份:不仅保存目录和文件的当前状态,还能够保存每一个提交过得历史状态
- 版本管理:在保存每一个版本的文件信息的时候要做到不保存重复数据,以节省存储空间,提高运行效率。这方面SVN采用的是增量式管理的方式,而Git采用了文件系统快照的方式。
- 权限控制:
- [1 ] 对团队中参与开发人员进行权限控制
- [2 ] 对团队外开发者贡献的代码进行审核----Git独有
- 历史记录
- [1 ] 查看修改人,修改时间,修改内容,日志消息
- [2 ] 将本地文件恢复到某一历史状态
- 分支管理
- [1 ] 允许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率
集中式
服务器宕机资料丢失,单点故障
- CVS、SVN、VSS
分布式
每人有一台服务器避免单点故障
- Git、Mercurial、 Darcs
Git简介
Git官网
- https://git-scm.com/
Git优势
- 打大部分操作在本地完成,不需要联网
- 完整性保证
- 尽可能添加数据而不是删除或修改数据
- 分支操作非常快捷流畅
- 与Linux命令全面兼容
区域
- 工作区----工作
- 缓存区----零时存储
- 本地库----历史版本
Git命令操作
本地库与远程库
本地库
- 本地库推送远程库push
本地库初始化
命令:
- git add从工作区添加到缓存区
- git commit从暂存区提交到本地库
- 进入相应的文件夹右键打开
用Linux命令进行相关操作
初始化本地仓库git init会创建.get隐藏文件
查看.get
设置签名
形式- 用户名:tom
- Email地址:123@123.com
作用:区分不同开发人员身份
辨析:这里设置的签名和登录远程(代码托管中心)的账号、密码没有任何关系。
命令
项目级别/仓库级别:仅在当前本地 库范围内有效 - git config
- git config user.name tom_pro
- git config user.email andao@qq.com
- 创建并查看,信息保存位置当前目录的config文件
系统用户级别:登录当前操作系统的用户范围 - git config --global
- git config --global user.name tom_glb
- git config --global user.email andao@qq.com
- ~/gitconfig文件
优先级 - 就近级别:项目级别优先于系统用户级别,二者都有时采用项目级别的签名
- 如果只有系统级别的签名,就一系统用户级别的签名为准
- 不允许二者都没有
git status查看状态
On branch master:当前在master分支
No commits yet:没有任何提交
nothing to commit (create/copy files and use “git add” to track):暂存区没有可提交的
创建文件
提交文件gat add将工作区的“新建/修改”添加到暂存区
从暂存区撤回文件git rm --cached
提交 git commit andao.txt或git commit -m " My first commit.new file andao.txt"andao.txt
添加到暂存区可以撤回,直接git commit不能撤回
基本操作
分支管理
远程库
Git图形化界面操作
Gitlab服务器环境搭建
Git和代码托管中心
局域网环境
- Gitlab服务器
外网环境
- GitHub
- 码云