V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zonghow
V2EX  ›  问与答

如何优雅地同时改动多个代码仓库的一些文件?

  •  
  •   zonghow · 2022-11-16 20:49:30 +08:00 · 1073 次点击
    这是一个创建于 745 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这些代码仓库都是使用同一个基础模板生成的业务仓库

    但其中有一些 “比较固定” 的文件,比如 Dockerfile 、 .gitlab-ci.yml 、Makefile 这些

    会经常有一些优化改动,需要在多个仓库中同步修改、提交

    除了手动一个一个仓库修改,有什么优雅点的方法么

    我想到的是写个 CLI ,然后通过项目里某个配置文件,去生成,然后覆盖
    第 1 条附言  ·  2022-11-16 21:48:22 +08:00
    虽然项目模板的首次生成可以通过模板仓库或者 CLI 的形式实现,但后续模板的更新,如何应用到已有的项目中去,小到 Dockerfile 的修改,大到文件名,文件目录修改。目前是手动更新所有项目,之后项目变多了成本也会相应增加。
    5 条回复    2022-11-17 14:51:07 +08:00
    zonghow
        1
    zonghow  
    OP
       2022-11-16 20:56:06 +08:00
    标题起的可能有点问题,想问的重点是代替一个个文件复制粘贴的方式,而不是多个仓库同时改动。
    jimliang
        2
    jimliang  
       2022-11-16 22:02:26 +08:00
    可以做成模板什么的,比如说 .gitlab-ci.yml:
    ```
    include:
    - project: 'gitlab/cicd-tmp'
    ref: master
    file:
    - '/templates/xxx.yml'
    ```
    kaicity
        3
    kaicity  
       2022-11-17 11:31:21 +08:00
    看看能不能抽出来当成独立仓库,然后这个仓库通过 submodule 导入
    zonghow
        4
    zonghow  
    OP
       2022-11-17 11:55:08 +08:00
    @kaicity 有一些文件需要放置在特定的目录里比如根目录。。Submodule 最少得是个文件夹吧
    kaicity
        5
    kaicity  
       2022-11-17 14:51:07 +08:00
    那要不把这些文件同时用上另一套版本控制软件,比如 svn ,这样更改的时候更新一下 svn 就行了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3007 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 00:13 · PVG 08:13 · LAX 16:13 · JFK 19:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.