一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
Create a new repository:创建了空的库,然后才开始在库里面进行开发,然后提交上去就行了 Push an
existing folder:创建完库,代码已经有了,直接提交上去
下载代码库,并在代码库中创建文件提交。
8、创建一个分支
9、主干/特性开发
主干开发,一切都是master分支,不管后面来了多少个特性,提交代码都是提交到主干分支上面。
特性分支开发:来了一些需求,这就需要基于master分支创建feature特性分支。这些新的需求代码都在特性分支,特性分支开发完了,将代码提交上去了,然后触发流水线,这些流水线就是来验证特性分支的,验证没有问题,那么特性分支就需要做另外的操作,就需要将代码合并到master分支了,然后发版了。
特性分支开发
- 基于master主干分支创建版本分支(release-1.1.1)
- 基于master分支创建特性分支(feature-1, feature-2…)
- 特性分支开发完成后,将特性分支合并到版本分支
- 基于版本分支进行发布(dev环境,本地验证,UAT,预生产,生产) 发生产了也没问题,那么将版本分支合并到主干分支
- 基于master主干分支创建一个标签tag
10、拉取特性分支
为什么要拉取分支? 一个分支不够吗?
一般我们使用 master 主干分支存放最新的能够发布生产的代码,而单独创建一些特性分支来做项目需求任务的开发分支。
这样的好处是防止主干分支污染,对分支起到了保护的作用。
下面进入 demo-hello-service 项目主页,然后基于主干分支master,创建特性分支feature-1-DEV。操作如下:
11、特性分支开发与提交
12、特性分支合并操作
将特性分支 feature-1-DEV 代码合并到主干分支master Merge Request。
在这个页面,选择源分支和目标分支。
在这个页面:
- 指定合并请求的标题
- 描述信息,一般都是变更信息
- 指定主管进行审核(最终该用户决定是否合并)
- 指定进行代码审查的同事
- 合并成功后删除源分支(最后很定要删除源分支,可以先保留一个版本后再删除,此处最好取消勾选)
提交合并后,由管理员审查进行合并。
到此一个基本的项目开发提交代码过程就已经完成了。(多熟悉一下这个过程)
五、将现有的GitLab项目移至新的子组 | 项目中
您可以在左侧边栏中的Settings-> General->下执行此操作Transfer project。但是,您将需要对要转移到的那个组的管理权限。
注意: 这里需要注意的是项目移只有 Owner 才有权限操作
GitLab 操作权限:
- 1.Guest:可以创建issue、发表评论,不能读写版本库
- 2.Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限
- 3.Developer:可以克隆代码、开发、提交、push,普通开发可以赋予这个权限
- 4.Maintainer:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心开发可以赋予这个权限
- 5.Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组组长可以赋予这个权限
六、GitLab项目的submodule操作
子模块( submodule )是一个内嵌在 git 仓库(父工程)中的 git
仓库,有点儿拗口。通过子模块,可以将外部的仓库作为子目录放到自己的仓库中,既能方便的管理依赖,又可以保持依赖本身的独立性。子模块将被记录在一个名叫 .gitmodules 的文件中,其中会记录子模块的相关信息
[submodule "module_name"] # 子模块的名称
path = file_path # 子模块在本仓库中文件的存储路径
url = repo_url # 子模块的远程仓库地址
1、新建项目
2、然后,将上面创建好的项目克隆到本地
git clone https://github.com/xugaoxiang/gitDemo.git
3、添加子模块
git submodule add https://github.com/ultralytics/yolov5.git
这时候的目录结构是这样的
4、通过 git status 查看当前状态
可以项目目录下多了个文件 .gitmodules , 这个文件是用来保存子模块的信息,子模块是 Revamp_Cuhk
5、通过 git submodule 查看子模块
git submodule
可以看到添加到 revamp 项目中的 子项目 提交版本号
6、将子模块提交到 revamp
git add
git commit -m "add drpo gitmodules"
git push origin main
然后就可以开始推送了,完成后,就可以看到了 revamp 下的 子模块了
7、克隆带有子模块的工程
克隆项目后,子模块目录默认是空的,需要我们在项目根目录下执行如下命令完成子模块的下载
git submodule init
git submodule update
或者
git submodule update --init --recursive
上面的方法,步骤繁多,比较麻烦,不推荐。可以直接在克隆的时候一起下载子模块,一气呵成,命令如下
### 给大家的福利
**零基础入门**
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

因篇幅有限,仅展示部分资料
网络安全面试题

绿盟护网行动

还有大家最喜欢的黑客技术

**网络安全源码合集+工具包**


**所有资料共282G**,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**