首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何优雅的在SpringBoot中编写选择分支,而不是大量if else?

一、需求背景 部门通常指的是在一个组织或企业中组成的若干人员,他们共同从事某一特定工作,完成共同的任务和目标。...在组织或企业中,部门通常是按照职能、工作性质或业务范畴等因素进行划分的,如财务部门、人力资源部门、市场部门等。...但在开发过程中,如果不建立数据表,则需要用选择结构进行判断赋值,所以就产生了大量的 if-else 代码。 本文的目标,就是消除这些 if-else 代码,用更高级的方法来实现!...在员工类中定义 部门编号 和 姓名 两个字段,代码如下。...@Override public String getDepartmentTitle(String code) { return "总经办"; } } 人力资源部分支

23120

Git 命令行教程:如何在 GitLab 中恢复已删除的分支

然而,有时候会发生意外,例如代码误合、错误的删除等情况,导致重要的开发分支本地和远程不慎被删除。本文将为您介绍如何使用 Git 命令行在 GitLab 中恢复已删除的分支,帮助您快速解决这类问题。...第二步 恢复分支 现在,您已经有了删除分支之前的引用号,可以使用以下命令在本地仓库中恢复分支: git checkout -b dev_xj d9244f1 dev_xj:你的分支名,可以和之前删除的一样...,也可以重新命个名 d9244f1:最后一次commit 的提交号或者引用号 _20230722194928.png 第三步 推送分支 如果您希望将恢复的分支同步到 GitLab 远程仓库,可以使用以下命令将分支推送到...days git commit -m "message" 描述建议 可以看到我们在恢复的过程中是根据提交message来找到,当我们开发的时候分支较多并且有bug修改的分支时我们不好定位提交号,我们示例中的...Git 提供了强大的版本控制功能,让开发团队能够高效协作。但当意外发生时,我们也有方法来解决问题。通过本文介绍的 Git 命令行恢复方法,您可以轻松地在 GitLab 中恢复已删除的分支。

1.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何正确释放文件句柄,Java中的FileInputStream关闭问题

    在日常的编程开发中,我们经常需要读取文件并对其进行处理。在Java中,常用的文件读取类之一是FileInputStream。...然而,使用FileInputStream时需要注意一个重要问题:及时关闭文件流。否则,可能导致文件句柄占用,进而影响文件的删除等操作。最近我在完成一项任务时遇到了这样的问题。...经过排查,最终发现了问题所在:没有正确关闭FileInputStream导致文件句柄未被释放。...在Java中,使用FileInputStream读取文件时,如果没有在读取完成后手动关闭流,就会导致文件句柄一直被占用。...这意味着即使我们完成了文件的读取和处理,但操作系统仍然认为该文件处于打开状态,从而阻止了文件的删除或移动等操作。为了解决这个问题,我们需要在读取文件后手动关闭FileInputStream。

    1K10

    Light Merge 代码合并实践

    其中有很多需求来自开发同学,通过平台化建设提高他们的工作效率。 本文讲述了一个解决代码合并老大难的问题,如何通过 "Light Merge 自动化代码合并" 技术解决。...几大问题痛点: 1、后端服务架构不统一 2、服务环境没有严格隔离 3、代码分支混乱 4、上线后经常会丢老功能 综上,应该是互联网创业公司通用的技术痛点,当业务规模达到了一定量的时候,必须会进行重构系统或者有系统架构优化...列表中展示代码合并状态 合并完成后在 gitlab 上能看到合并状态 合并完成后在 gitlab 上能看到 commit 信息 合并失败后,展示冲突内容 在项目组中创建 webhook 通知,合并信息会发到企业微信群中...python 操作 gitlab 需要使用 “privatetoken”,在 gitlab 中 setting 中可以参考对应的 “privatetoken”。...如下是 “核心” 代码片段,如果有没有关闭的 mr,不能提交新的 mr,所以需要先关闭。 合并分支,先创建 mr 再合并。 合并分支有失败的情况,需要捕获异常,获取冲突信息。

    1.3K20

    Git 工作流程

    第一步:根据需求,从master拉出新分支,不区分功能分支或补丁分支。 第二步:新分支开发完成后,或者需要讨论的时候,就向master发起一个pull request(简称PR)。...第三步:Pull Request既是一个通知,让别人注意到你的请求,又是一种对话机制,大家一起评审和讨论你的代码。对话过程中,你还可以不断提交代码。...比如,生产环境出现了bug,这时就要新建一个功能分支,先把它合并到master,确认没有问题,再cherry-pick到pre-production,这一步也没有问题,才进入production。...Pull Request被接受以后,issue关闭,原始分支就应该删除。如果以后该issue重新打开,新分支可以复用原来的名字。...5.4 Merge节点 Git有两种合并:一种是"直进式合并"(fast forward),不生成单独的合并节点;另一种是"非直进式合并"(none fast-forword),会生成单独节点。

    57030

    Git 工作流程

    第一步:根据需求,从master拉出新分支,不区分功能分支或补丁分支。 第二步:新分支开发完成后,或者需要讨论的时候,就向master发起一个pull request(简称PR)。...第三步:Pull Request既是一个通知,让别人注意到你的请求,又是一种对话机制,大家一起评审和讨论你的代码。对话过程中,你还可以不断提交代码。...比如,生产环境出现了bug,这时就要新建一个功能分支,先把它合并到master,确认没有问题,再cherry-pick到pre-production,这一步也没有问题,才进入production。...功能分支合并进master分支,必须通过Pull Request(Gitlab里面叫做 Merge Request)。 ?...5.4 Merge节点 Git有两种合并:一种是"直进式合并"(fast forward),不生成单独的合并节点;另一种是"非直进式合并"(none fast-forword),会生成单独节点。

    1K120

    如何构建基于Git的开发工作流规范?Git版本管理工具应该这样用

    如何解决的问题?...safe: 修复安全问题 scope: 可选. 说明提交影响的范围. 例如样式, 后端接口, 逻辑层等等 Subject: 提交目的的简短描述, 动词开头, 不超过80个字符....只用于说明不兼容变动(break change)和关闭 Issue(如果使用使用gitlab或github管理bug的话) 模板和示例 # 50-character subject line # # 72...), 而解决的问题; [退回]: 无规律或只出现一次的BUG, 研发没找到原因, 加上必要排查日志后, 可退回给测试; 复现后重新打开 [正在处理]: 已大致定位原因, 需要较多时间处理的BUG, 可置为...所以要谨慎自测 ---- 如何处理定制化需求 痛点 更新问题 每次正规代码更新都要合并到该分支. 当分支较多时分支图就会比较混乱 正规代码合并是必然会带来风险的, 比如项目结构变动, 依赖库变动.

    1.3K30

    一文弄懂 Gitflow、Github flow、Gitlab flow 的工作流

    第一步:根据需求,从master拉出新分支,不区分功能分支或补丁分支。 第二步:新分支开发完成后,或者需要讨论的时候,就向master发起一个pull request(简称PR)。...第三步:Pull Request既是一个通知,让别人注意到你的请求,又是一种对话机制,大家一起评审和讨论你的代码。对话过程中,你还可以不断提交代码。...比如,生产环境出现了bug,这时就要新建一个功能分支,先把它合并到master,确认没有问题,再cherry-pick到pre-production,这一步也没有问题,才进入production。...功能分支合并进master分支,必须通过Pull Request(Gitlab里面叫做 Merge Request)。...5.4 Merge节点 Git有两种合并:一种是”直进式合并”(fast forward),不生成单独的合并节点;另一种是”非直进式合并”(none fast-forword),会生成单独节点。

    21.9K54

    准时下班的秘密:集成 GitLab && JIRA 实现自动化 workflow

    GitLab 如何打通 JIRA 的信息流? GitLab 如何自动化 JIRA 的工作流(workflow)? GitLab 如何批量触发 JIRA 的工作量 ?...GitLab 需要一个专属的 JIRA 账号,并且拥有相应的权限,用于在 JIRA issues 添加注释和操作系统,具体如何在 JIRA 中创建和配置账号这里就不介绍了,不熟悉的小伙伴可以直接看官方文档...在解决该 issue 的过程中,所有的 commit log 也会被自动关联到 JIRA issue 的注释中,在 JIRA 系统中形成问题的解决历史和思路,方便复盘和回顾: ?...我在这里简单转述一下: 只有默认分支(master 可以在 GitLab -> Settings 中配置)的 commit and merge 会触发关闭 JIRA issue 已有解决方案的 JIRA...批量关闭 issue 在负责人点击 Merge 对应的 issue 就会自动触发 Jira 工作流,流转对应的状态 Feature 分支通过本地 commit -m 'Closes issue id'

    3K10

    Git & GitHub & GitLab 超全面学习笔记 -- 匠心之作

    注:不指定具体文件名时候表示比较多个文件。 ? 4.4 分支管理 4.4.1 什么是分支 ? 在版本控制过程中,使用多条线同时推进多个任务。...,没有问题才去合并。...合并代码 岳不群审核代码没有问题,就可以进行代码合并了!点击【Conversation】 ? 填写本次操作的日志信息: ? 岳不群再将远程仓库的修改拉取到本地仓库,远程团队协作完成。...岳老板发现代码有的地方写的不够好,需要小冲继续修改,就发微信给小冲让他如何如何改,小冲在本地hot_fix分支继续修改后,再将该分支上的修改提交到本地仓库(快捷键方式[Ctrl + #]),然后将hot_fix...岳老板重新进行拉取,切换分支,审查代码……如此反复,直到没有问题了,这时候岳老板就在本地将hot_fix分支合并到主分支master上,操作如下: 先要从hot_fix分支切换回master分支 ?

    3K41

    基于 git flow + gitlab 协作开发:01

    但在一些观念尚未真正敏捷而敏捷先行的项目组中,gitlab flow 工作流很难“入乡随俗”。而 github flow 的简单粗暴缺又无法满足现有团队的需求。...最终我的目光转移到了 git flow。 下面我们将以开发过程中实际遇到的问题为媒介,来介绍从工程管理到代码审查直至 CI/CD 在我们的团队中是如何运作的。...但往往有些场景因为手动操作开启新的 hotfix 分支后很容易忘记将修改合并到发布分支和开发分支,版本发布比较多以后,会发现有一些 hotfix 分支在项目总仓库中,再加上命名的不规范,最终会不确定这些分支到底有没有合并到主干和开发分支...而线上非最新版本出现问题,在修复过程中要根据情况决定是否需要合并的到主干分支和当前开发人员正在开发的分支上。...这些仅是协作中的一部分,更大的一部分是协作过程中的代码审查,如何在 git flow 模式下工作配合 gitlab 做好代码审查,我将在下一篇文章中详细介绍。 相关

    1.4K10

    架构师分享 高效团队的gitlab flow最佳实践

    对于”版本发布”的项目,建议的做法是每一个稳定版本,都要从master分支拉出一个分支,比如2-3-stable、2-4-stable等等。 ? gitlab flow 如何处理hotfix?...hotfix的意思是,当代码部署到产品环境之后发现的问题,需要火速fix。gitlab flow 可以基于后续分支,修改后上线。...研发组长确认没有问题后,可以合并到master。 ? 合并完成,可以删除feat分支。 新功能开发好,可以进行提测。...发布版本 语义化版本号 版本格式:主版本号.次版本号.修订号,版本号递增规则如下: 主版本号:当你做了不兼容的 API 修改, 次版本号:当你做了向下兼容的功能性新增, 修订号:当你做了向下兼容的问题修正...bug修复 需要修改bug时,从release-version新拉分支,修改完成后再合并到release-version分支. Q: 从release-$version拉的分支,如何测试?

    4.3K10

    高效团队的gitlab flow最佳实践

    对于”版本发布”的项目,建议的做法是每一个稳定版本,都要从master分支拉出一个分支,比如2-3-stable、2-4-stable等等。 ? gitlab flow 如何处理hotfix?...hotfix的意思是,当代码部署到产品环境之后发现的问题,需要火速fix。gitlab flow 可以基于后续分支,修改后上线。...研发组长确认没有问题后,可以合并到master。 ? 合并完成,可以删除feat分支。 新功能开发好,可以进行提测。...发布版本 语义化版本号 版本格式:主版本号.次版本号.修订号,版本号递增规则如下: 主版本号:当你做了不兼容的 API 修改, 次版本号:当你做了向下兼容的功能性新增, 修订号:当你做了向下兼容的问题修正...bug修复 需要修改bug时,从release-version新拉分支,修改完成后再合并到release-version分支. Q: 从release-$version拉的分支,如何测试?

    4.2K31

    用 GitLab 的 Merge Request 做代码评审

    Git又是目前当红的源码管理工具,若你的团队目前已经选用了GitLab来作为托管工具,那此文中你可以学到如何通过GitLab的Merge Request(合并请求)进行代码审查以及我们遵循的现有代码审查最佳实践来改进工作流程...接下来我们将介绍如何使用GitLab提供的工具来进行代码评审。 GitLab中的merge request指的是把代码从一个分支合并到另一个分支上做的操作。...为主要开发分支创建合并请求。Assignee以及说明字段和评论中被提到的那些人将通过电子邮件通知合并请求。如果需要某一位开发人员关注,你可以在描述字段中@该名开发人员。...等到MR被接受或拒绝,并提供有关必要修复的评论。 参与有关修复的讨论。 (GitLab允许回复评论) 修复。 将更改推送到你的分支。...打开一个新合并如果最后一个MR被关闭(如果合并请求未关闭,它将自动更新,直到最后一次提交为止)。 通过注释合并请求或以其他方式报告已实施的修复。

    3.6K50

    如何去除代码中的多次if而引发的一连串面试问题

    面试官:有如下的代码,如何去除代码中的if?...面试官:你刚刚的这种解决方案,如果对象的生命周期是由Spring容器来管理的,也就是bean的实例化是在Spring容器启动时发生的,如何将Addition这种对象实例注入到calculatorMap中...小白:有两种方式,一种是将calculatorMap中的key和value(bean的id)配置到Spring的xml声明文件中,另一种是通过编码的方式,自定义一个类实现Spring的ApplicationContextAware...小白:优点就是可以解决像ifelse这样的不好维护的代码,做到对扩展开放、对修改关闭。缺点就是也会产生很多像Addition等这样的代码,导致类膨胀。...小白:里氏替换原则,任何基类可以出现的地方,子类一定可以出现;依赖倒置原则,面向接口编程,依赖于抽象而不依赖于具体实现;单一职责原则,一个类应该只负责一项职责,做到职责单一;迪米特法则,一个对象应该对其它对象保持最少的了解

    48120

    浅谈基于 Git 的版本控制工作流

    在项目开发过程中,多人协作是很常见的现象,每个人拉取自己分支、实现自己的业务逻辑,虽然各自在分支上互不干扰,但是我们总归需要把分支合并到一起,而且真实项目中涉及到很多问题,例如版本迭代,版本发布,bug...PR 在工作流中引入 PR,是 GItHub Flow 的一个特色,它的用处并不仅仅是合并分支,还有以下功能: 控制分支合并权限 问题讨论或者寻求其他小伙伴们的帮助 Code Review 有了 PR...master分支真的不够用) GitLab Flow 解决方案 为了解决上面提到的那些问题,GitLab Flow 给出了以下的解决方法。...在 GitLab Flow 中,建议的做法是每一个稳定版本,都要从master分支拉出一个分支,比如2-3-stable、2-4-stable等等。...当然,就如 Git Flow 一样,任何工作流想要起作用,都需要我们认同它、打心里接受它,然后才能自觉的遵守其规范,毕竟,公司总不至于因为我们不遵守分支命名规范而开除我们吧?公司采取硬性规定的另算。

    60420

    Git 分支管理策略汇总

    原文链接: Git 分支管理策略 最近,团队新入职了一些小伙伴,在开发过程中,他们问我 Git 分支是如何管理的,以及应该怎么提交代码?...功能分支通常只存在于开发者的本地仓库中,并不包含在远程库中。...合并,要经过测试没有问题了才能够再往下合并到生产环境。...没有了分支的代码隔离,测试和解决冲突都变得简单,持续集成也变得稳定了许多,但也有如下几个问题: 如何避免发布的时候引入未完成的 feature 如何进行线上 bug fix 如何避免发布的时候引入未完成的...而问题要等到下一次上线才会被暴露出来,一旦发现,而这个时候上一次 release 的人又不在,无疑增加了很多工作量。 总结 以上四种就是目前相对主流的分支管理策略,但没有哪一种策略是万能的。

    1.2K10

    浅谈基于 Git 的版本控制工作流

    在项目开发过程中,多人协作是很常见的现象,每个人拉取自己分支、实现自己的业务逻辑,虽然各自在分支上互不干扰,但是我们总归需要把分支合并到一起,而且真实项目中涉及到很多问题,例如版本迭代,版本发布,bug...PR 在工作流中引入 PR,是 GItHub Flow 的一个特色,它的用处并不仅仅是合并分支,还有以下功能: 控制分支合并权限 问题讨论或者寻求其他小伙伴们的帮助 Code Review 有了 PR...master分支真的不够用) GitLab Flow 解决方案 为了解决上面提到的那些问题,GitLab Flow 给出了以下的解决方法。...在 GitLab Flow 中,建议的做法是每一个稳定版本,都要从master分支拉出一个分支,比如2-3-stable、2-4-stable等等。...当然,就如 Git Flow 一样,任何工作流想要起作用,都需要我们认同它、打心里接受它,然后才能自觉的遵守其规范,毕竟,公司总不至于因为我们不遵守分支命名规范而开除我们吧?公司采取硬性规定的另算。

    1.3K20

    Git实战(五)| 让工作更高效,搞定Git的分支管理

    image 上一篇讲到Git的分支管理实操,在线合并和本地合并都进行了实操。毕竟:光说不练是假把式。而只练不整理,只能是傻把式了。分支管理到底如何进行管理呢?...先以GitLab上的一张经典的图打头,作为一个总体概览,也方便理解分支的管理和走向: image 场景预设 image 现假设公司有名为Hogwarts_Online2的开发项目,其中包含了上线分支master...merge进develop分支中: image 我们还可以在graph中查看分支的走向: image 这样,特性分支和develop分支的代码拉取与合并就完成了 另外,工作中develop分支可能是权限比较开放的...注:这种未经测试就上线的情况很危险,本人就遇见过;之前驻场在华为里工作的时候,组内一位开发同事修改了一两行的代码,觉得不会有问题就直接跳过了我们测试,通过别人直接上线发布了,当时我所在的组是GNSS组;...4、补充 git log git log --graph --all --decorate=short rebase 变基,合并分支后可以将分支走向的基准线变更,在分支很多的时候,可以简化分支的展示,合并分支走向使流程看起来简洁一点

    65530
    领券