Lab———Git使用指北

Lab———Git使用指北

🤖:使用IDEA Git插件实际工作流程


💡 本文从实际使用的角度出发,以IDEA Git插件为基本讲述了如果使用IDEA的Git插件来解决实际开发中的协作开发问题。本文从 远程仓库中拉取项目,在本地分支进行开发,把分支代码提交到远程分支 以及 管理者如何管理Master分支 四个角度来进行书写,相信看完本文后你也可以快速上手使用和实践Git。


⭐从远程仓库中拉取项目

  1. 在Gitee上找到远程仓库的位置,复制该项目的链接。

  2. 在IDEA中选择使用版本控制软件来新建项目。

  3. 将刚刚复制的项目链接复制到URL当中。

  4. 使用Maven一键加载工程文件。(右键项目名称 Build as maven project)

  5. 把data文件夹放到项目目录之下(注意data文件夹不要让git管理,千万不要提交data文件)

    具体在IDEA中的流程如下所示:

在这里插入图片描述


💡使用Maven的好处:

我们使用Maven来管理我们的工程文件,使用Maven的好处是显而易见的,Maven把所有的依赖都写入了POM.XML文件当中,当我们使用不同的IDE工具(IDEA,Esplice)使用或开发我们的工程文件时工程项目的所有依赖的JAR包都在POM文件当中,我们只需要点击 Add as Mven Project就可以在本地部署好工程文件


⭐⭐ 在本地分支进行开发

💡 使用Git来进行项目管理的目的:当一个团队同时需要对软件项目进行开发时,可以让团队成员针对被分配的任务并行的进行开发,从而提高项目开发效率。

当使用Git项目来管理本地的项目后:我们就可以在本地进行项目开发了。

当你完成了第一步(从远程仓库拉取项目)之后默认显示的项目是主分支。请注意,当你需要编写代码时并不建议你在本地的主分支当中进行编写。本地主分支的作用只应该是让本地主分支与远程主分支保持一致【也就是说你需要在本地主分支中频繁地拉取代码 update peoject】你需要建立一个本地自己的分支,在自己的分支内进行代码编写。

在本地自己分支内进行开发的流程如下所示:

  1. 需要在本地创建一个新的分支
  2. 这个分支的名字要和远程分支的名字一样
  3. 让本地分支跟踪远程分支
  4. 编写代码

请添加图片描述

⭐⭐⭐ 把分支代码提交到远程分支


💡 主分支是远程仓库最重要的一个分支.通常来讲主分支的代码必须是稳定的代码【一个稳定的版本】因为团队的所有人员都会针对主分支的代码进行开发。


当编写完代码之后,你需要把本地自己分支的代码提交到远程仓库自己分支当中,只有当你把自己的代码提交到远程仓库之后,远程仓库的管理员才能对你的代码进行审核,当管理员觉得代码没有问题后管路员会将你的代码Merge(合并)到主分支形成一个稳定的版本。

在IDEA的右上角有一些常用的Git操作按钮它们分别是:update commit push

update project 点击按钮后会使 当前本地分支(当前所在分支)的代码 与远程分支上的代码保持一致。

commit 每次要切换分支时;都要使用commit按钮 把工作代码提交到Git的工作区当中。


🌟 commit提交规范:采用类型+具体描述的方式 :
feat:新功能或功能变更;
fix:修复某些Bug;
docs:改动了某些文档或注释;
style:修改了代码风格;
refactor:重构了某些代码


push 点击按钮后会把在本地分支中的操作 提交到远程跟踪的分支中。

❗❗每次要提交工作代码之前都需要检查当前本地分支的代码是否和主分支保持一致,换句话说就是自己当前开发的代码是不是基于最新代码(Master Branch)上编写的。如果你想提交代码到自己的分支具体来讲你有两种方法【推荐使用基于Rebase的方法】:

  • 基于Merge方法提交代码

    1. 在本地自己分支开发完代码后 进行 commit操作
    2. Checkout 操作 到主分支
    3. 在 主分支上进行 update project操作
    4. 在本地分支上选择主分支进行 merge into current 操作
    5. 如果出现冲突请解决冲突
    6. 把自己分支的代码Push操作 到远程分支

    具体IDEA操作如下图所示:
    请添加图片描述

  • 基于Rebase方法提交代码

    ReBase的本意是让远程分支保持干净清爽。并且团队开发人员使用Rebase方法提交也可以减轻主分支管理者的管理成本(把遇到冲突后解决冲突的操作交给了开发人员进行),提升管理和开发效率。

    1. 切换到本地Master主分支;拉取主分支的最新代码(Update Project)
    2. 切换到自己的分支 CheckOut 【branchName】
    3. 在自己的分支内选择 master brach【主分支】并选择 Rebase currented onto selected
    4. 解决遇到的冲突问题(confilicts)
    5. 把代码提交到自己的分支(push)
      在这里插入图片描述

❗❗Other:管理者如何管理Master分支

  1. RollBack操作
  2. 主分支内不要使用rebase操作
  3. 当远程仓库上传了多余的文件时怎么办?

因为本文是偏实用向,只是大概告诉了大家我们如何使用Git来进行多人协作代码开发,其中有许多类似原理的知识并没有进行讲解,如果在实际开发过程中出现了什么问题也可以自行进行搜索。下面附上了学习Git很好的学习资料,希望对你有用 😀

  1. 链接: Gitee-官网操作说明
  2. 链接:B站Git操作讲解视频

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/50339.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenCvSharp (C# OpenCV) 二维码畸变矫正--基于透视变换(附源码)

导读 本文主要介绍如何使用OpenCvSharp中的透视变换来实现二维码的畸变矫正。 由于CSDN文章中贴二维码会导致显示失败,大家可以直接点下面链接查看图片: C# OpenCV实现二维码畸变矫正--基于透视变换 (详细步骤 + 代码) 实现步骤 讲解实现步骤之前先看下效果(左边是原图,右边…

CSS 瀑布流效果效果

示例 <!DOCTYPE html> <html lang="cn"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>瀑布流效果</title><style>…

Windows安装PyTorch

文章目录 前言CPU版本安装安装步骤测试CPU版PyTorch是否安装成功 GPU版本安装新建一个conda环境安装torch法一&#xff1a;在线安装(建议用法二)法二&#xff1a;下载torch、torchvision后本地安装(建议使用此方法)Jupyter Lab虚拟环境的配置测试是否安装成功 前言 此份文档适…

Java 版 spring cloud +spring boot 工程系统管理 工程项目管理系统源码 工程项目各模块及其功能点清单

工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff1a;实现对数据字典标签的增删改查操作 2、编码管理&#xff1a;实现对系统编码的增删改查操作 3、用户管理&#xff1a;管理和查看用户角色 4、菜单管理&#xff1a;实现对系统菜单的增删改查操…

【JavaEE初阶】HTTP请求的构造及HTTPS

文章目录 1.HTTP请求的构造1.1 from表单请求构造1.2 ajax构造HTTP请求1.3 Postman的使用 2. HTTPS2.1 什么是HTTPS?2.2 HTTPS中的加密机制(SSL/TLS)2.2.1 HTTP的安全问题2.2.2 对称加密2.2.3 非对称加密2.2.3 中间人问题2.2.5 证书 1.HTTP请求的构造 常见的构造HTTP 请求的方…

EMO:重新思考高效的基于注意力的移动块模型

文章目录 摘要1、介绍2、方法论:归纳法和演绎法2.1、通用效率模型标准2.2、元移动块2.3、微设计:倒置残余移动块2.4、面向密集预测的EMO宏观设计 3、实验3.1、图像分类3.2、下游任务3.3、额外的消融和解释分析 4、相关工作5、结束语及未来工作 摘要 论文链接&#xff1a;https…

Ubuntu更改虚拟机网段(改成桥接模式无法连接网络)

因为工作需要&#xff0c;一开始在安装vmware和虚拟机时&#xff0c;是用的Nat网络。 现在需要修改虚拟机网段&#xff0c;把ip设置成和Windows端同一网段&#xff0c;我们就要去使用桥接模式。 环境&#xff1a; Windows10、Ubuntu20.04虚拟机编辑里打开虚拟网络编辑器&#…

在Mac上搭建Gradle环境

在Mac上搭建Gradle环境&#xff1a; 步骤1&#xff1a;下载并安装Java开发工具包&#xff08;JDK&#xff09; Gradle运行需要Java开发工具包&#xff08;JDK&#xff09;。您可以从Oracle官网下载适合您的操作系统版本的JDK。请按照以下步骤进行操作&#xff1a; 打开浏览器…

520 · 一致性哈希 II

链接&#xff1a;LintCode 炼码 - ChatGPT&#xff01;更高效的学习体验&#xff01; 题解&#xff1a; class Solution{private:int n;const int mVirtualNodeCount;map<int, int> mVirtualNodeToMachineIdMap;set<int> mVirtualNodeSet;public:Solution(int n…

SpringBoot房屋租赁系统【附ppt|万字文档(LW)和搭建文档】

主要功能 前台登录&#xff1a; ①首页&#xff1a;公告信息、房屋信息展示、查看更多等 ②房屋信息、房屋类型、我要当房主、公告信息、留言反馈等 ③个人中心&#xff1a;可以查看自己的信息、更新图片、更新信息、退出登录、我的收藏 后台登录&#xff1a; ①首页、个人中心…

软件测试-基础阶段学习

目录 一、测试介绍 二、测试常用分类 三、模型 四、测试流程 五、测试用例 六、用例设计方法 七、缺陷 八、html 资料获取方法 阶段目标 能独立针对web项目实施功能测试 一、测试介绍 什么是软件测试 使用技术手段验证软件是否满足需求 测试主流技能 功能测试自…

golang,gin框架的请求参数(一)--推荐

golang&#xff0c;gin框架的请求参数&#xff08;一&#xff09; gin框架的重要性不过多的强调&#xff0c;重点就gin使用中的参数传递&#xff0c;获取进行梳理文件&#xff0c;满足使用需求。 获取前端请求参数的几种方法&#xff1a; 一、获取参数【浏览器地址获取参数】…

【业务功能篇58】Springboot + Spring Security 权限管理 【中篇】

4.2.3 认证 4.2.3.1 什么是认证&#xff08;Authentication&#xff09; 通俗地讲就是验证当前用户的身份&#xff0c;证明“你是你自己”&#xff08;比如&#xff1a;你每天上下班打卡&#xff0c;都需要通过指纹打卡&#xff0c;当你的指纹和系统里录入的指纹相匹配时&…

图注意力网络论文详解和PyTorch实现

图神经网络(gnn)是一类功能强大的神经网络&#xff0c;它对图结构数据进行操作。它们通过从节点的局部邻域聚合信息来学习节点表示(嵌入)。这个概念在图表示学习文献中被称为“消息传递”。 消息(嵌入)通过多个GNN层在图中的节点之间传递。每个节点聚合来自其邻居的消息以更新其…

【小白必看】Python爬虫实战之批量下载女神图片并保存到本地

文章目录 前言运行结果部分图片1. 引入所需库2. 发送请求获取网页内容3. 解析网页内容并提取图片地址和名称4. 下载并保存图片完整代码关键代码讲解 结束语 前言 爬取网络上的图片是一种常见的需求&#xff0c;它可以帮助我们批量下载大量图片并进行后续处理。本文将介绍如何使…

django学习笔记(1)

django创建项目 先创建一个文件夹用来放django的项目&#xff0c;我这里是My_Django_it 之后打开到该文件下&#xff0c;并用下面的指令来创建myDjango1项目 D:\>cd My_Django_itD:\My_Django_it>"D:\zzu_it\Django_learn\Scripts\django-admin.exe" startpr…

echarts遇到的问题

文章目录 折线图-区域面积图 areaStyley轴只有整数y轴不从0开始y轴数值不确定&#xff0c;有大有小&#xff0c;需要动态处理折线-显示label标线legend的格式化和默认选中状态x轴的lable超长处理x轴的相关设置 echarts各个场景遇到的问题 折线图-区域面积图 areaStyle areaStyl…

分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离(二)

说明&#xff1a;如果实现了docker部署mysql并完成主从复制的话再继续&#xff0c;本篇文章主要说明springboot配置实现Shardingjdbc进行读写分离操作。 如果没实现docker部署mysql实现主从架构的话点击我 Shardingjdbc配置介绍&#xff08;版本&#xff1a;5.3.2&#xff09;…

STM32 Flash学习(一)

STM32 FLASH简介 不同型号的STM32&#xff0c;其Flash容量也不同。 MiniSTM32开发板选择的STM32F103RCT6的FLASH容量为256K字节&#xff0c;属于大容量产品。 STM32的闪存模块由&#xff1a;主存储器、信息块和闪存存储器接口寄存器等3部分组成。 主存储器&#xff0c;该部分…

linux 指令 第3期

cat cat 指令&#xff1a; 首先我们知道一个文件内容属性 我们对文件操作就有两个方面&#xff1a;对文件内容和属性的操作 扩展&#xff1a;echo 指令 直接打印echo后面跟的字符串 看&#xff1a; 这其实是把它打印到了显示器上&#xff0c;我们也可以改变一下它的打印位置…