版本管理工具
特点
版本控制工具分类
集中式版本控制工具: CVS SVN VSS 等等, 集中式管理存在单点故障的问题,例如一旦服务器损坏,所有历史数据都将丢失,客户端存放的数据只是当前状态。
分布式版本控制工具:git Mercurial Bazaar Darcs等等,本地就有完整的历史数据,很好地避免单点故障,可以从任何一个客户端上复制数据从而恢复所有的历史数据
GIT 历史简介
GIT优势
2 基本概念
2.1 仓库 (repository)
仓库的意思,即你的项目,一个仓库代表一个项目。
2.2 收藏(STAR)
仓库主页star按钮,收藏仓库,便于查找。
2.3 复制克隆项目(FORK)
复制克隆别人的项目(项目主页点击右上角的fork按钮, fork后会在自己账号内建立一个独立的仓库),进一步修改应用到自己的项目中。本质是在别人开源项目的基础上建立了个分支,这样就可以改进源代码,但不会影响原有项目代码结构
2.4 发送请求(Pull Request)
发送请求,这个是基于Fork的。 如果别人在你基础山做了改进后觉得改进的很不错,应该要把这些改进让更多的人受益,于是就想把自己的改进合并到原有项目里。这个时候他就可以发起一个Pull Request(简称PR), 原有项目创建人,就可以收到这个请求,原项目所有人仔细审核代码并测试OK就会并接受PR,这时原项目就拥有了改进的内容。
2.5 关注(watch)
如果你watch了某个项目,那么以后只要这个项目任何更新,你都会第一时间收到项目通知提醒
2.6 事务卡片(Issue)
发现代码BUG,但是目前没有成型代码,需要讨论是用;
例如:你开源了一个项目,别人发现你的相目中有bug,或者哪些地方需要改进,他就可以提个ISSUE,即问题。提的问题多了也就是Issues,然后你看到了这些问题就可以逐个修复,修复OK了就可以一个个CLOSE.
2.7 Github主页
账号创建成功或点击网址导航栏github图标都可以进入github主页:该页面左侧主要像是用户动态及关注用户或关注仓库的动态,右侧显示所有的GIT库
2.8仓库主页
仓库主页主要显示目录信息,如项目代码,版本,收藏/关注/fork情况等
2.9 个人主页
个人信息:头像,个人简介关注我的人,我关注的git库,我的开元项目,我贡献的开源项目等信息
2.10 github网站首页
3、github相关主要操作
3.1 注册登录
注册时如果接收不到邮箱验证链接,考虑邮箱地址是否正确外,还要考虑是否被邮箱拦截,可以设置github.com到邮箱白名单中
3.2 新建仓库
新建仓库文件
git客户端下载安装
下载地址:https://git-scm.com/download/win
安装(无特殊说明,直接点击next)
选择是否创建开始菜单快捷方式及名称
验证是否成功
git工作区域
git基本工作流程
说明:
git status 查看文件状态(是在哪个区域)
git add 文件名称 将文件提交到暂存区域(相当于svn中的add)
git commit -m “提交描述” 将文件提交到gei仓库
git和代码托管中心
- 代码托管中心主要是维护远程库
- 局域网环境下:可以用GITLab服务器作为代码托管中心
- 外网环境下:可以用GITHUB或码云作为代码托管中心
远程库与本地库交互
团队内部协作
跨团队协作
git本地库操作
git help 命令, 可以调阅命令说明
git命令行操作的相关命令完全兼容linux相关命令,及linux相关命令都可以使用,例如:touch(创建文件) mkdir(创建文件夹),ls(查看文件文件列表),cat(查看文件),vim/vi(编辑文件)等等
GIT 基础设置(设置签名)
git安装完成之后,需要进行一些基本信息设置(配置一次后,后续就不用配置了,包括新建的其他文件夹都不需要配置)
设置签名:主要是区分不同开发人员的身份(签名包括用户名和邮箱设置,该设置在github仓库主页显示谁提交了改文件)
辨析:这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系(
命令:
项目级/仓库级别:仅在当前本地库范围内有效,
git config user.name “John Doe”
git config user.email johndoe@example.com
信息保存位置:当前