网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
因为代码版本控制系统能够很好地解决开发中要面临的问题
- 代码备份
- 版本控制
- 协同工作
- 责任追溯
SVN 与 Git 的对比
- SVN :集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑,所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器。
- 服务器单点故障,将会导致所有人员无法工作
- 而服务器硬盘损坏,这意味着,你可能失去了该项目的所有历史记录,这是毁灭性的
- Git :每一个客户端都保存了完整的历史记录,服务器的故障,都可以通过客户端的记录得以恢复
2 Git 安装与配置
官网下载地址:https://git-scm.com/downloads
指定安装目录后,一路next无脑安装
安装成功后,鼠标点击右键
点击 Git Bash Here
输入git --version
可以查看版本信息
虽然Git 自带了图像化工具,但是功能不够强大,这里安装 TortoiseGit 图像化功具
安装过程较为简单,但是要注意的是其中需要指定 Git 的bin目录,一般系统会自动识别。
安装完成后,鼠标点击右键会多出一下三项
3 Git 操作入门
3.1 Git 基本工作流程
3.2 Git 命令行操作
下面通过一个案例进行演示:
(1)创建 test 工作目录、初始化本地 git 仓库
初始化完成后,会出现一个名为 .git
的隐藏文件
(2)test 文件夹中新建一个 test.txt 文件(暂不执行添加操作)
(3)使用 status 命令,查看状态
注意:
test.txt
为红色表示未执行添加操作
(4) 使用 add 命令添加(到暂存区),并查看状态
此时 test.txt
文件会发生如下变化,代表已经执行添加操作(若用户电脑首次安装TortoiseGit 图像化功具,需要重启电脑)
(5)使用 commit 命令,提交到本地历史仓库
命令引号内为本次提交信息
(6)使用 log 命令,查看日志
(7) 修改 test.txt 文件
(8) 添加并提交,查看日志
3.3 Git 图形化工具操作
(1) 创建 test1 工作目录、初始化本地 git 仓库
(2) 创建 test.txt
文件,并将其添加到暂存区,再提交至本地仓库
(3) 修改文件后,不用进行添加操作,直接第二次提交
(4)查看日志
4 Git 版本管理
(1)历史版本切换
git reflog
:可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录的操作)
git reset --hard 版本唯一索引值
(2)分支管理介绍
分支
- 由每次提交的代码,串成的一条时间线
- 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线
分支的使用场景
- 周期较长的模块开发
- 假设你准备开发一个新功能,但是需要一个月才能完成
第一周写了20%的代码,突然发现原来已经写好的功能出现了一个严重的Bug
那现在就需要放下手中的新功能,去修复Bug
但这20%的代码不能舍弃,并且也担心丢失,这就需要开启一个新的版本控制。
- 假设你准备开发一个新功能,但是需要一个月才能完成
- 尝试性的模块开发
- 业务人员给我们提出了一个需求,经过我们的思考和分析
该需求应该可以使用技术手段进行实现。
但是我们还不敢确定,我们就可以去创建一个分支基于分支进行尝试性开发
- 业务人员给我们提出了一个需求,经过我们的思考和分析
分支工作流程
- Master: 指向提交的代码版本
- Header: 指向当前所使用的的分支
(3)分支管理操作
- 创建分支:
git branch 分支名
- 查看分支:
git branch
- 切换分支:
git checkout 分支名
- 新分支添加文件后查看文件命令:
ls
Master分支里没有新分支添加的文件,但是新分支里有Master分支里的文件
- 合并分支:
git merge 分支名
- 删除分支:
git branch -d 分支名
- 查看分支列表:
git branch
注意:不同分支之间的关系是平行的关系,不会相互影响
5 Git远程仓库
5.1 远程仓库工作流程
注意:克隆是包括所有的历史版本
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
JE-1714877659832)]
[外链图片转存中…(img-68DNpyJc-1714877659832)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新