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

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操作讲解视频

相关文章:

Lab———Git使用指北

Lab———Git使用指北 🤖:使用IDEA Git插件实际工作流程 💡 本文从实际使用的角度出发,以IDEA Git插件为基本讲述了如果使用IDEA的Git插件来解决实际开发中的协作开发问题。本文从 远程仓库中拉取项目,在本地分支进行开发&#x…...

ChatGPT的工作原理:从输入到输出

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…...

redis数据库与主从复制

目录 一 基本操作 二 执行流程 三 reids持久化 四 rdb和aof持久化的过程 五 为什么会有内存碎片 六 redis组从复制 一 基本操作 set :存放数据 例如 set 键值 内容 set k kokoko k就是键值 kokoko就是内容 get:获取数据 例如 get k 就会出来 k对应的数据 keys 查询键…...

js加载和长任务

js加载和长任务 本文将讲解以下浏览器如何加载js,并介绍一些可以提高网页加载速度的方法。 Evaluate Script 如果我们在devtools的performance中分析过网站的加载性能,可能会看到一个很长的任务,叫做Evaluate Script. 在这种情况下&#x…...

利用Stable diffusion Ai 制作艺术二维码超详细参数和教程

大家有没有发现最近这段时间网上出现了各种各样的AI艺术二维码,这种二维码的出现,简直是对二维码的“颠覆式创新”,直接把传统的二维码提升了一个维度!作为设计师的我们怎么可以不会呢? 今天就教大家怎么制作这种超有艺…...

【C语言课程设计】图书管理系统

引言: 图书管理系统是一个重要的信息管理系统,对于图书馆和书店等机构来说,它能够方便地管理图书的录入、显示、查询、修改和删除等操作。本实验基于C语言开发了一个简单的图书管理系统,通过账户名和密码进行系统访问和权限控制&a…...

在 ArcGIS Pro 中使用 H3 创建蜂窝六边形

H3是Uber开发的分层索引系统,它使用六边形来平铺地球表面。H3在二十面体(一个具有20个三角形面和12个顶点的形状)上构建其六边形网格。由于仅用六边形不可能平铺二十面体,因此每个分辨率需要12个五边形来完成网格。分层索引网格意味着每个六边形都可以细分为子单元六边形。…...

创建Electron项目

一、使用vite 构建 electron项目 npm init vitelatest Need to install the following packages:create-vitelatest Ok to proceed? (y) y √ Project name: ... CertificateDownload √ Package name: ... certificatedownload √ Select a framework: Vue √ Select a var…...

Spring Boot实践一

一、Spring Boot简介 Spring Boot是一个基于Spring框架的快速开发应用程序的工具。它提供了一种快速、方便的方式来创建基于Spring的应用程序,而无需繁琐的配置。Spring Boot通过自动配置和约定大于配置的方式,使得开发者可以更加专注于业务逻辑的实现&…...

简单认识NoSQL的Redis配置与优化

文章目录 一、关系型数据库与非关系型数据库1、关系型数据库:2、非关系型数据库3、关系型数据库和非关系型数据库区别:4、非关系型数据库应用场景 二.Redis1、简介2、优点:3、Redis为什么这么快? 三、Redis 安装部署1、安装配置2、…...

开发一个RISC-V上的操作系统(二)—— 系统引导程序(Bootloader)

目录 文章传送门 一、什么是Bootloader 二、简单的启动程序 三、上板测试 文章传送门 开发一个RISC-V上的操作系统(一)—— 环境搭建_riscv开发环境_Patarw_Li的博客-CSDN博客 开发一个RISC-V上的操作系统(二)—— 系统引导…...

Git安装与学习

Git学习网站 Git安装教程 镜像网站 https://registry.npmmirror.com/binary.html 镜像下载是网站对服务器的一个保护措施之一,就是A站点下载的数据同 B站点下载的数据完全一样,b站点就是A站点的一面镜子。 所以镜像下载下来和原站点一摸一样。...

【Docker】docker中容器之间通信方式

文章目录 1. Docker容器之间通信的主要方式1.1 通过容器ip访问1.2. 通过宿主机的ip:port访问1.3. 通过link建立连接(官方不推荐使用)1.4. 通过 User-defined networks(推荐) 2. 参考资料 1. Docker容器之间通信的主要方式 1.1 通…...

算法-归并排序-JAVA

下面是Java实现归并排序的示例代码&#xff1a; public class MergeSort {public void mergeSort(int[] arr) {if (arr null || arr.length < 1) {return;}int[] temp new int[arr.length];mergeSort(arr, temp, 0, arr.length - 1);}private void mergeSort(int[] arr, …...

Flask 进阶

Flask 如何访问项目以外的文件 在工作中&#xff0c; 要在项目里展示一些额外的文件&#xff0c; 包括但不限于静态的html。图片&#xff0c; log&#xff0c; 其他的都还好说&#xff0c; 但是当html的时候我就开始犯难了&#xff0c; 因为数量过多 我并不想把它塞进我项目的t…...

home-assistant整合sso

其他软件都可以通过nginx直接做代理添加鉴权&#xff0c;但是这个hass果然是用户安全隐私很强&#xff0c;做代理需要配置白名单&#xff0c;而且支持的三方鉴权都不太适合我的需求&#xff0c;非要改源码才行&#xff0c;后来我发现不用改源码的折中方式 参考文章 External …...

Ip-Limit: 轻量级注解式IP限流组件(二)

author: van , ggfanwentaogmail.comIp-Limit-Example: 轻量级注解式IP限流组件使用样例 项目简介 该项目为ip-limiter的使用示例项目。 ip-limiter地址&#xff1a; https://github.com/DDAaTao/ip-limiter 示例项目文件树 └─example├─handler│ └─BaseException…...

【C++】开源:Redis数据库配置与使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍Redis数据库配置与使用。 无专精则不能成&#xff0c;无涉猎则不能通。。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c…...

TCP/IP网络编程 第二十四章:制作HTTP服务器端

实现简单的Web服务器端 现在开始在HTTP协议的基础上编写Web服务器端。先给出Windows平台下的示例&#xff0c;再给出Linux下的示例。在这里我假设各位都有了有关HTTP的知识&#xff0c;如果不知道HTTP协议的具体内容可以参考的往期博客&#xff0c;有了这些基础就不难分析源代…...

React 前端应用中快速实践 OpenTelemetry 云原生可观测性(SigNoz/K8S)

OpenTelemetry 可用于跟踪 React 应用程序的性能问题和错误。您可以跟踪从前端 web 应用程序到下游服务的用户请求。OpenTelemetry 是云原生计算基金会(CNCF)下的一个开源项目&#xff0c;旨在标准化遥测数据的生成和收集。已成为下一代可观测平台的事实标准。 React(也称为 Re…...

Qwen3-14B私有化效果:支持国密算法加密的API通信安全方案

Qwen3-14B私有化效果&#xff1a;支持国密算法加密的API通信安全方案 1. 私有部署镜像概述 Qwen3-14B私有部署镜像是基于通义千问大语言模型优化定制的专业解决方案&#xff0c;特别针对RTX 4090D 24GB显存配置进行了深度适配。这个镜像不仅提供了完整的运行环境和模型依赖&a…...

避坑指南:GF-3 SAR数据预处理中常见的5个错误及解决方法

GF-3 SAR数据预处理实战&#xff1a;5个关键错误分析与Python解决方案 在遥感数据处理领域&#xff0c;GF-3卫星的合成孔径雷达(SAR)数据因其全天候、全天时的观测能力而备受青睐。然而&#xff0c;从原始数据到可用成果的预处理过程中&#xff0c;即便是经验丰富的工程师也常会…...

C++的std--ranges中的优化内联

C的std::ranges中的优化内联&#xff1a;提升性能的利器 在现代C编程中&#xff0c;std::ranges库的引入为算法和范围操作带来了更高的抽象性和灵活性。许多开发者可能忽略了其背后隐藏的性能优化潜力——尤其是通过内联机制实现的效率提升。本文将深入探讨std::ranges中的优化…...

遥感影像处理避坑指南:为什么你的SHP裁剪总失败?ArcMap与ENVI协作全解析

遥感影像裁剪实战避坑手册&#xff1a;从坐标系校准到多工具协同 当你在深夜盯着屏幕上那个扭曲变形的裁剪结果时&#xff0c;是否曾怀疑过人生&#xff1f;遥感影像的矢量裁剪看似简单&#xff0c;实则暗藏玄机。本文将带你深入剖析那些教科书上不会告诉你的实战细节&#xff…...

别再试图让 Agent 适应你的代码库,而是让代码库和流程适应 Agent。AI Coding Agent 时代,工程师不再是“码农”?Harness Engineering 实战 playbook

AI Coding Agent 时代&#xff0c;工程师不再是“码农”&#xff1f;Harness Engineering 实战 playbook 最近刷到 OpenAI 内部大动作&#xff1a;Greg Brockman 发帖说&#xff0c;他们工程师的工作从去年 12 月开始彻底变了。以前用 Codex 写单元测试&#xff0c;现在 Agent…...

终极Ryzen处理器调校指南:免费SMU调试工具快速解锁AMD性能潜力

终极Ryzen处理器调校指南&#xff1a;免费SMU调试工具快速解锁AMD性能潜力 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: ht…...

B端企业拓客:如何在精准度与成本之间找到真正平衡?氪迹科技法人股东号码核验系统,阶梯式价格

在B端市场存量竞争愈发激烈的当下&#xff0c;“拓客精准度”与“获客成本”的平衡&#xff0c;成为所有B端企业都要面对的核心课题。对绝大多数深耕B端业务的企业而言&#xff0c;拓客之路始终被两大难题困扰&#xff1a;一方面&#xff0c;线索质量参差不齐&#xff0c;空号、…...

记一次攻防演练复盘(蓝队)

事件&#xff1a;某省大数据局主导的一次攻防演练中午时段遭受大量攻击。 告警信息&#xff08;TOP 5&#xff09;&#xff1a;[疑似目录穿越攻击URI] [漏洞攻击: Apache log4j RCE Attempt (http ldap) (CVE-2021-44228)] [web路径遍历漏洞攻击-Linux环境] [XSS跨站脚本攻击U…...

告别龟速采样!用DDIM在Stable Diffusion WebUI中实现10倍加速出图(附完整代码)

10倍速出图实战&#xff1a;在Stable Diffusion中解锁DDIM采样器的隐藏性能 当你在凌晨三点盯着进度条缓慢爬升的AI绘图界面&#xff0c;是否想过那些被浪费的GPU计算周期&#xff1f;不同于传统DDPM必须严格遵循马尔可夫链的逐步骤降噪&#xff0c;DDIM&#xff08;Denoising …...

ZYNQ双核通信必看:共享内存的Cache一致性处理实战

ZYNQ双核通信中的Cache一致性实战指南 在嵌入式系统开发中&#xff0c;多核处理器间的数据共享一直是开发者面临的挑战之一。Xilinx ZYNQ系列SoC凭借其ARM双核Cortex-A9架构与可编程逻辑的完美结合&#xff0c;为高性能嵌入式应用提供了强大支持。然而&#xff0c;当两个核心需…...