GIT项目组迁移方案

前言

原公司总共有一千多个GIT项目,光所属部门就有62个,为了规范GIT统一管理,把部门内的项目统一划分到一个项目组下边,而不是很零碎的父级组,故制定此方案,感兴趣或正好需要的同学可以看下~

迁移方式

image-20260629174246762

公司使用的gitLab,如果使用其它git仓库的小伙伴可自行AI解决哈,原理都是大差不差的。迁移方式也很简单,先新建aipark项目组,本部门的GIT项目都放到这个下面,之后在想要迁移的项目/项目组选中Settings->General->Advanced->Transfer group->Select parent group选中新建的aipark项目组即可完成迁移。

需要注意的地方

权限问题

此次迁移相当于是在原来所有的项目/项目组上面新建了aipark项目组,此种方式只要原来项目/项目组有git权限的迁移之后都会被继承过来,理论上不需要再重新授权,如有权限问题的可以自行AI再重新添加下权限哈~

研发本地git地址问题

项目迁移之后git地址会发生改变,在路径上多/aipark,默认gitlab会进行URL重定向,研发人员不需要更改本地IDEA的git地址仍可正常提交代码,但此并不是一个正规方式,后续可能会遇到再新建一个旧GIT地址同名项目,就会导致本地提交失败。

所以建议有条件的同学在提交完本地代码之后,主动在IDEA->Git->管理远程处双击项目地址手动添加缺失路径/aipark

imgimg

其他关联场景排查与适配(CI/CD及第三方集成)

除了代码提交,迁移还会引起以下系统级配置的路径变化,请相关组件负责人同步排查:

  • CI/CD 流水线 (GitLab CI):
    • .gitlab-ci.yml 脚本中,如果存在硬编码的旧仓库地址(例如脚本内部依赖了 git clone 其他模块),需要同步修改为新路径。
    • 检查 CI/CD Runner 的作用域。如果 Runner 是绑定在原有的顶级 Group 级别,迁移成为子组后,可能需要重新注册或调整 Runner 范围以确保流水线正常触发。
  • Webhooks 与自动化通知:
    • 如果你配置了 Webhooks(例如推送代码自动触发 Jenkins 构建,或者发送钉钉/企业微信机器人通知),部分第三方系统不会识别 GitLab 的 301 重定向。必须进入 Settings -> Webhooks,将回调 URL 和触发规则更新为最新状态。
  • 包管理与镜像仓库 (Package / Container Registry):
    • 如果你使用了 GitLab 提供的 Maven 私服、NPM 仓库或 Docker 镜像仓库,仓库的推送与拉取 URL 会随着组层级的改变而变化。请务必修改微服务项目中的 pom.xml.npmrc 或 Dockerfile 构建脚本中的 Registry 路径。

至此,所有杂乱的git项目都转移到本部门/aipark组下了,也可以弄个GIT项目清单文件,以后也能基于此来对部门所有GIT项目进行管理,形成知识资产,等有新同学入职了也可快速上手~

版权声明:除特殊说明,博客文章均为Mark原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。VIP内容严禁转载! | 广告招租请留言
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇