当前位置: 首页 > news >正文

十六、maven git-快速上手(智慧云教育平台)

🌻🌻 目录

  • 一、概述及项目管理工具介绍
    • 1.1 项目介绍
    • 1.2 maven 介绍及其配置
      • 1.2.1 maven 介绍
      • 1.2.2 maven 下载与配置
    • 1.3 pom 中常见标签的使用
    • 1.4 后端项目环境的搭建
    • 1.5 Git 简介
    • 1.6 Git 的基本使用
      • 1.6.1 码云的注册与仓库创建
      • 1.6.2 上传代码到码云仓库
      • 1.6.3 Git 更新操作
      • 1.6.4 使用Git解决代码冲突
    • 1.7 Git 分支管理
      • 1.7.1 从码云下载项目到 IDEA
      • 1.7.2 在 IDEA中使用Git为项目创建分支
      • 1.7.3 合并分支代码
      • 1.7.4 在dev上再分出一个bug分支
      • 1.7.5 在码云上创建分支
    • 1.8 码云仓库管理的分配

一、概述及项目管理工具介绍

1.1 项目介绍

文章概要:智慧云教育平台管理后台、智慧云教育平台学生端、项目的正式部署

  • 后端技术点:jdk1.8 + spring boot + mybatis + shiro
  • 缓存框架:redis
  • 数据库:mysql 5.7
  • 前端技术点:Element-Ui + Vue
  • 开发工具:Idea
  • 项目管理工具:maven、Git
  • 使用最主流的框架Spring boot + Vue 实现完全前后端分离

(1) 管理后台核心功能介绍

在这里插入图片描述

(2) 学生端核心功能介绍

在这里插入图片描述

项目收获:

  • 1.加强对Java程序员基础知识的掌握
  • 2.掌握企业级项目编码规范,提升代码优化的能力
  • 3.掌握企业级Spring boot + Vue + Element-UI 全栈开发技能,增加项目经验,提升职场竞争能。
  • 4.掌握项目从零搭建到项目正式部署的完整流程。

1.2 maven 介绍及其配置

1.2.1 maven 介绍

🔷 了解Maven 是什么?为何要使用Maven 音标【meivn】
🔷 掌握Maven的安装和基本配置

Maven 的概念
Maven 是什么?

  • Maven 是Apache 下的一个纯Java 开发的开源项目。它主要用来帮助实现项目的构建、测试、打包和部署。Maven 提供了标准的软件生命周期模型和构建模型,通过配置就能对项目进行全面的管理。

在这里插入图片描述

Maven 的优势

  • 🔷 Maven能够帮助我们快速构建和发布项目,提高工作效率;
  • 🔷Maven能够非常方便的帮助我们管理jar包和解决jar包冲突;
  • 🔷Maven对于目录结构有要求,约定优于配置,开发者在项目间切换就省去了学习成本
  • 🔷Maven有助于项目多模块开发。

在这里插入图片描述

1.2.2 maven 下载与配置

关于maven的详细总结可参考

(1)下载地址

在这里插入图片描述

(2)环境配置:

在这里插入图片描述

在这里插入图片描述

验证是否配置正确:

在这里插入图片描述

仓库配置

在这里插入图片描述

镜像配置

在这里插入图片描述

<mirror><id>nexus-aliyun</id><mirrorOf>*</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

1.3 pom 中常见标签的使用

在这里插入图片描述
jar 冲突的解决办法:

使用如下标签或版本统一管理:

在这里插入图片描述

1.4 后端项目环境的搭建

项目多模块开发的好处:

  • 🔷 降低项目复杂性,提升我们的开发效率;
  • 🔷有利于项目遵从“高内聚,低耦合”的设计模式,保证了代码的质量和健壮性。
  • 🔷 避免重复造轮子,减少工作量

IDEA中配置maven

在这里插入图片描述
在这里插入图片描述

(1) 开始创建项目:education

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2) 创建子项目:education-admin-api

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改如下:

在这里插入图片描述

(3) 再创建一个 education-service 模块

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(4) 再次创建工具类 education-common

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改配置文件

在这里插入图片描述

(5) 测试项目是否搭建成功过:

EducationAdminApiApplication

在这里插入图片描述

package com.education.admin.api;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;// Generated by https://start.springboot.io
// 优质的 spring/boot/data/security/cloud 框架中文文档尽在 => https://springdoc.cn
@SpringBootApplication
@RestController
public class EducationAdminApiApplication {@GetMapping("/")public String test001(){return "success";}public static void main(String[] args) {SpringApplication.run(EducationAdminApiApplication.class, args);}}

1.5 Git 简介

Git 详细总结参考

  • 🔷 了解Git 是什么,为何要使用Git
  • 🔷掌握Git的安装及其与IDEA的集成

(1) Git 是什么?

  • 🔷 Git 是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

(2)为何要使用Git

  • 🔷 基于分布式的设计,有利于项目的多人合作开发,提高工作效率;
  • 🔷 方便开发者解决代码冲突;
  • 🔷 可以从当前版本回退到任意版本,防止误操作导致代码丢失。

在这里插入图片描述

在这里插入图片描述

(3) Git 的下载与安装

下载地址

在这里插入图片描述

安装参考

安装成功验证:

在这里插入图片描述

右击同样也看到这里多了两个文件

在这里插入图片描述

(4)Git 与 IDEA 的集成

在这里插入图片描述

1.6 Git 的基本使用

1.6.1 码云的注册与仓库创建

项目码云步骤:

  • ①. 注册 码云 账号;
  • ②. 使用码云创建一个远程仓库;
  • ③. 在idea中将代码上传至码云仓库。

① 注册及登录码云

在这里插入图片描述

② 仓库名称一般与项目名称保持一致

在这里插入图片描述

1.6.2 上传代码到码云仓库

(1)打开idea给项目创建一个本地仓库

在这里插入图片描述

在这里插入图片描述

(2) 将项目提交到本地仓库

在这里插入图片描述
在这里插入图片描述

(3) 将创建好的本地项目上传到远程仓库(码云)

复制下面这个远程仓库地址:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

push成功idea中将弹出如下提示:

在这里插入图片描述

刷新浏览器,查看我们的项目已经更新到远程仓库了

在这里插入图片描述

1.6.3 Git 更新操作

在这里插入图片描述
在这里插入图片描述
进入IDEA

在这里插入图片描述

更新后显示:

在这里插入图片描述
将此段代码删除重新提交:

提交方式一:

先要添加到本地仓库,然后提交到本地仓库,再从本地仓库提交到码云

在这里插入图片描述
在这里插入图片描述
只选择修改后的代码:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

提交方式二:

在这里插入图片描述

提交代码日志查看:
在这里插入图片描述
在这里插入图片描述

1.6.4 使用Git解决代码冲突

引起代码冲突的原因:

  • 比如你和你的同事都修改了其中一个main方法,这时候就会出现代码冲突。
  • ①比如我先在码云添加并提交一段代码

在这里插入图片描述

  • ② 再从idea的同main方法下面增加一段并提交

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将码云与本地的合并一起

在这里插入图片描述

在这里插入图片描述
最后在push一次代码:

在这里插入图片描述
在这里插入图片描述

1.7 Git 分支管理

1.7.1 从码云下载项目到 IDEA

进入新的公司首先要下载代码呗:

复制地址:https://gitee.com/Daniel-sys/education

在这里插入图片描述

打开idea下载项目:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

下载成功:

在这里插入图片描述

1.7.2 在 IDEA中使用Git为项目创建分支

在这里插入图片描述

创建dev分支后进行push

在这里插入图片描述

再次查看就多了一个dev分支,然后再切换到master分支

在这里插入图片描述

1.7.3 合并分支代码

①首先切换到dev分支
②增加一个test方法并提交push
③再次切换到master分支查看,则没有这个方法

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

如果master中没有上述添加的代码,操作如下可将dev中的代码合并到master中,最后将master中的代码推送到远程仓库。

在这里插入图片描述

在这里插入图片描述
刷新浏览器可如下

在这里插入图片描述

1.7.4 在dev上再分出一个bug分支

  • ①首先切换到dev分支
  • ②然后再从dev上剪出一个bug分支

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

dev中没有,则进行提交

在这里插入图片描述

在这里插入图片描述

最后切换master提交代码即可

在这里插入图片描述

1.7.5 在码云上创建分支

在这里插入图片描述

(1)点击“管理”

在这里插入图片描述

(2) 创建后idea中刷新后才会显示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.8 码云仓库管理的分配

在这里插入图片描述
在这里插入图片描述

文章源码

相关文章:

十六、maven git-快速上手(智慧云教育平台)

&#x1f33b;&#x1f33b; 目录 一、概述及项目管理工具介绍1.1 项目介绍1.2 maven 介绍及其配置1.2.1 maven 介绍1.2.2 maven 下载与配置 1.3 pom 中常见标签的使用1.4 后端项目环境的搭建1.5 Git 简介1.6 Git 的基本使用1.6.1 码云的注册与仓库创建1.6.2 上传代码到码云仓库…...

chrome/edge浏览器插件开发入门与加载使用

同学们可以私信我加入学习群&#xff01; 正文开始 前言一、插件与普通前端项目二、开发插件——manifest.json三、插件使用edge浏览器中使用/加载插件chrome浏览器中使用/加载插件 总结 前言 chrome插件的出现&#xff0c;初衷可能是为了方便用户更好地控制浏览器&#xff0c…...

【完美解决】 TypeError: ‘str’ object does not support item assignment

【完美解决】 TypeError: ‘str’ object does not support item assignment 在Python编程中&#xff0c;遇到TypeError: str object does not support item assignment这样的错误通常意味着你试图修改字符串中的某个字符&#xff0c;但字符串是不可变类型&#xff0c;不支持这…...

Android SurfaceFlinger——渲染开始帧(四十三)

通过前面的文章我们介绍了 SurfaceFlinger 图层合成的整体流程,已经对应步骤的前五步,这里我们开始介绍帧渲染流程的第一步——开始帧。 1.更新输出设备的色彩配置文件2.更新与合成相关的状态3.计划合成帧图层4.写入合成状态5.设置颜色矩阵6.开始帧7.准备帧数据以进行显示(异…...

fastadmin搜索栏实现某字段动态下拉搜索

记录&#xff1a;fastadmin搜索栏实现某字段动态下拉搜索 方式一&#xff1a;使用selectpicker组件&#xff0c;可多选 { field: travel_agency, title:__(Travel_agency),addClass:"selectpicker", operate:"IN",data:"multiple", searchList:…...

.NET未来路在何方?

简述 在软件开发的漫长旅程中&#xff0c;将代码打包成可执行的EXE文件是一项必不可少的技能。它不仅能够保护源代码&#xff0c;还能为用户提供便捷的安装体验。但手动打包过程繁琐且容易出错&#xff0c;自动化打包成为了开发者的福音。 在软件开发的浩瀚星空中&#xff0c;.…...

Vue开发环境搭建

文章目录 引言I 安装NVM1.1 Windows系统安装NVM,实现Node.js多版本管理1.2 配置下载镜像1.3 NVM常用操作命令II VUE项目的基础配置2.1 制定不同的环境配置2.2 正式环境隐藏日志2.3 vscode常用插件引言 开发工具: node.js 、npm 开发编辑器:vscode 开发框架:VUE I 安装NVM…...

【数据结构初阶】详解:实现循环队列、用栈实现队列、用队列实现栈

文章目录 一、循环队列1、题目简述2、方法讲解2.1、了解tail的指向2.2、了解空间是如何利用的2.3、如何判断队列是否为空&#xff08;假溢出问题&#xff09;&#xff1f;2.4、实现代码 二、用栈实现队列1、题目简述2、方法讲解2.1、讲解2.2、实现代码 三、用队列实现栈1、题目…...

【Hot100】LeetCode—31. 下一个排列

目录 题目1- 思路2- 实现⭐31. 下一个排列——题解思路 3- ACM 实现 题目 原题连接&#xff1a;31. 下一个排列 1- 思路 技巧题&#xff0c;分为以下几个步骤 ① 寻找拐点&#xff1a; i 1 &#xff1a;出现 nums[i1] > nums[i] &#xff0c;则 i 1 就是拐点 从右向左遍…...

找到学习的引擎,更让你进入心流状态的高效学习

一、心流状态的启动秘籍 1. 简单开始&#xff1a;找到学习的入口 从简单的任务开始&#xff0c;比如整理学习空间或列出学习计划&#xff0c;让大脑逐渐适应学习的节奏。 2. 环境塑造&#xff1a;打造专注的学习空间 清理桌面&#xff0c;减少干扰&#xff0c;比如将手机置…...

QItemDelegate QItemDelegate QItemDelegate

qtreeview点击某一行有颜色显示 c 在Qt中&#xff0c;要实现QTreeView点击某行有颜色显示&#xff0c;可以通过设置QTreeView的itemDelegate来自定义显示样式。以下是一个简单的例子&#xff0c;演示如何为QTreeView的项设置点击时的背景颜色。 #include <QApplication>…...

MySQL数据库 外键默认约束和action 基础知识【2】推荐

数据库就是储存和管理数据的仓库&#xff0c;对数据进行增删改查操作&#xff0c;其本质是一个软件。MySQL就是一种开源的关系型数库&#xff0c;也是最受欢迎的数据库之一&#xff0c;今天对MySQL数据的基础知识做了整理&#xff0c;方便自己查看&#xff0c;也欢迎正在学习My…...

JS正则表达式学习与实践

JS正则表达式学习笔记 1 学习笔记1.1 字符类1.2 量词和分支1.3 标志1.4 锚点1.5 断言 2 常用正则2.1 检查微信浏览器2.2 检查移动端浏览器2.3 检查中文字符2.4 手机号严格2.5 手机号比较宽松2.6 手机号宽松2.7 邮箱验证2.8 金额格式2.9 身份证号2.10 至少8为有数字、大小写字符…...

Java数据结构(五)——栈和队列

文章目录 栈和队列栈基本概念栈的模拟实现集合框架中的栈栈的创建栈的方法栈的遍历 栈的应用及相关练习括号匹配逆波兰表达式求值出栈入栈次序匹配最小栈 几个含"栈"概念的区分 队列基本概念队列的模拟实现循环队列双端队列集合框架中的队列队列的创建队列的方法队列…...

工具使用:nrm使用以及n模块

nrm nrm 是一个npm&#xff08;Node Package Manager&#xff09;的源管理器&#xff0c;它允许用户轻松地在不同的npm源之间进行切换。在Node.js的生态系统中&#xff0c;nrm 提供了一种方便的方式来管理registry源&#xff0c;这对于那些需要从不同的npm源下载或发布包的开发…...

匿名管道+进程池+命名管道

mkfifo name_pipe 创建管道文件。 命名管道&#xff1a; 路径文件名具有唯一性。 匿名管道&#xff1a; 进程池代码&#xff1a; #include<iostream> #include<unistd.h> #include<cstdlib> #include<cassert> #include<vector> #include&…...

【深度学习】【语音TTS】OpenVoice: Versatile Instant Voice Cloning,论文

https://github.com/myshell-ai/OpenVoice https://arxiv.org/abs/2312.01479 文章目录 摘要1 引言2 方法2.1 直观思路2.2 模型结构2.3 训练细节3 结果4 结论摘要 我们介绍了OpenVoice,一种多功能的即时语音克隆方法,只需参考说话者的短音频片段即可复制其声音,并生成多语…...

一六零、云服务器开发机配置zsh

切换shell 在Linux中默认使用/bin/bash&#xff0c;在用户创建时&#xff0c;会自动给用户创建用户默认的shell。默认的shell就是/bin/bash。要修改shell将其设置为/bin/ksh&#xff0c;有两种方法方法 # 方法一: chsh -s /bin/ksh chsh -s /bin/zsh # 方法二: usermod -s /b…...

[ZJCTF 2019]NiZhuanSiWei1

打开题目 php代码审计 .从代码中可以看出要求&#xff0c;以get方式传递text,file,password三个参数。 3.第一层验证if(isset($text)&&(file_get_contents($text,r)"welcome to the zjctf")) 传入text&#xff0c;而且file_get_contents($text,r)之后内容…...

【网络安全】副业兼职日入12k,网安人不接私活就太可惜了!

暑假来了&#xff0c;很多同学后台私信我求做兼职的路子&#xff0c;这里&#xff0c;我整理了一份详细攻略&#xff0c;请大家务必查收&#xff0c;这可能会帮你把几个学期的生活费都赚够&#xff01; Up刚工作就开始做挖漏洞兼职&#xff0c;最高一次赚了12k&#xff0c;后面…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

小木的算法日记-多叉树的递归/层序遍历

&#x1f332; 从二叉树到森林&#xff1a;一文彻底搞懂多叉树遍历的艺术 &#x1f680; 引言 你好&#xff0c;未来的算法大神&#xff01; 在数据结构的世界里&#xff0c;“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的&#xff0c;它…...