zonghow
V2EX  ›  问与答

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

  •  
  •   zonghow · Nov 16, 2022 · 1752 views
    This topic created in 1295 days ago, the information mentioned may be changed or developed.
    这些代码仓库都是使用同一个基础模板生成的业务仓库

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

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

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

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