为什么需要git和相关的小知识
先看一个实际需求,引出Git
问题: 公司五一活动计划
● 先说一个最简单的情况,比如你做了公司五一活动计划书(如图)
解决方案: 版本管理工具(Git)
一句话: Git 是目前最流行的分布式版本控制软件
Git 是怎么来的?
Git 之父:李纳斯·托沃兹(Linus Benedic Torvalds)1969、芬兰
Git 小故事
- Linux 内核开源项目有着为数众广的参与者, 绝大多数的Linux 内核维护工作, 都花在了提交补丁、保存归档的繁琐事务上(1991-2002 年间)。到2002 年, 整个项目组开始启用一个专有的分布式版本控制系统BitKeeper 来管理和维护代码
- 到了2005 年, 开发BitKeeper 的商业公司同Linux 内核开源社区的合作关系结束,他们收回了Linux 内核社区免费使用BitKeeper 的权力。(Linux 社区有好事者,破解BitKeeper, 也让BitKeeper 恼火.)
- 自己动手丰衣足食, Linus Torvalds 用2 周,开发出一套版本控制系统, 也是后来的Git
- Git 是目前世界上最先进的分布式版本控制系统, 免费、开源
版本管理
一句话: 在开发的过程中用于管理对文件、目录或工程等内容的修改历史,方便查看历史记录,备份以便恢复以前的版本的软件工程技术
可以完成哪些功能?
- 实现跨区域多人协同开发
- 追踪和记载一个或者多个文件的历史记录
- 组织和保护你的源代码和文档
- 统计工作量
- 并行开发、提高开发效率
- 跟踪记录整个软件的开发过程
- 减轻开发人员负担,节省时间,同时降低人为错误
主流版本控制工具/软件
- Git
- SVN(Subversion)
- CVS(Concurrent Versions System)
- VSS(Micorosoft Visual SourceSafe)
- TFS(Team Foundation Server)
- Visual Studio Online
版本控制分类
本地版本控制
本地版本控制
记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,如RCS
示意图
集中版本控制
● 介绍
- 所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改
- 用户的本地只有自己以前所同步的版本,如果不连网的话,用户就看不到历史版本,也无法切换版本
- 所有数据都保存在单一的服务器上,如果这个服务器会损坏(有很大的风险), 这样就会丢失所有的数据,需要定期备份
- 代表产品:SVN、CVS、VSS
● 示意图
分布式版本控制
- 所有版本信息仓库全部同步到本地的每个用户
- 可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push 到相应的服务器或其他用户那里。
- 每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据
- 更加安全, 不会因为服务器损坏或者网络问题,造成不能工作的情况
- 代表软件: Git
示意图
Git VS SVN
SVN
- SVN 是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都
是自己的电脑,所以首先要从中央服务器得到最新的版本 - 完成工作后,需要把自己的代码送到中央服务器。集中式版本控制系统是必须联网才能
工作
Git
- Git 是分布式版本控制系统,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。
- 协同的方法说明:比如自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。Git 可以直接看到更新了哪些代码和文件
Git 下载&安装
官网
- 地址: https://git-scm.com/
- 下载版本: Git-2.33.0.2-64-bit.exe
- 下载慢,可以到镜像下载: http://npm.taobao.org/mirrors/git-for-windows/
卸载
- 说明:如果安装过,可以卸载和老师版本保持一致
- 卸载步骤
- 到windows 的应用和功能,到的git, 卸载即可(如图
检查环境变量, 如果有和Git 相关的,删除即可
安装
- 说明:直接下一步即可,建议安装到非系统盘, 比如d:\
- 细节:安装路径不要带中文、空格、特殊字符
- 验证安装是否成功
点击右键如图
win10直接右击就可以
win11就需要
就可以看到了
Git 资料
Git 大全
- 地址: https://gitee.com/all-about-git
- Git 常用命令
仓库https://gitee.com/all-about-git#%E4%BB%93%E5%BA%93
配置https://gitee.com/all-about-git#%E9%85%8D%E7%BD%AE
增加/ 删除文件https://gitee.com/all-about-git#%E5%A2%9E%E5%8A%A0%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6
代码提交https://gitee.com/all-about-git#%E4%BB%A3%E7%A0%81%E6%8F%90%E4%BA%A4
分支https://gitee.com/all-about-git#%E5%88%86%E6%94%AF
标签https://gitee.com/all-about-git#%E6%A0%87%E7%AD%BE
查看信息https://gitee.com/all-about-git#%E6%9F%A5%E7%9C%8B%E4%BF%A1%E6%81%AF
远程同步https://gitee.com/all-about-git#%E8%BF%9C%E7%A8%8B%E5%90%8C%E6%AD%A5
Git 互动学习
地址: https://oschina.gitee.io/learn-git-branching/