相关疑难解决方法(0)

git子模块跟踪最新

我们正在将我们(巨大的)项目转移到git,我们正在考虑使用子模块.我们的计划是在超级项目中有三个不同的头:发布,稳定,最新.项目负责人将处理释放和稳定的分支机构.他们将根据需要移动子模块.

问题是"最新"头.我们希望超级项目"最新"头部跟踪所有子模块的主分支(自动).如果能够显示子模块的所有提交历史,那也很棒.

我看过gitslave,但它不是我们想要的.有什么建议?

git git-submodules git-track

130
推荐指数
1
解决办法
8万
查看次数

Jenkins管道子模块认证

我有一个包含子模块的存储库.这些是在可公开访问的GitHub存储库中开发的.然而,我的最终部署是在GitLab中使用镜像GitHub repos的断开连接的环境中,这些都需要身份验证.

我的.gitmodules文件包含公开可用的回购的网址.我sed在工作中做了一些替换并且可以正确地更新它们,但不幸的是,我当时无法进行身份验证,因为它是与git url:....步骤分开的操作.

我可以克隆项目:

git url: "git@my.gitlab.secure", branch: "master", credentialsId: "somecredentialid"
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不会更新我的子模块.因为我需要身份验证.

我也可以用以下方法克隆checkout:

      checkout([                                                            
        $class: 'GitSCM',                                                   
        branches: [[name: 'master']],                               
        doGenerateSubmoduleConfigurations: true,                            
        extensions: [[$class: 'SubmoduleOption',                            
          disableSubmodules: false,                                         
          parentCredentials: true,                                          
          recursiveSubmodules: true,                                        
          reference: '', trackingSubmodules: true]],                        
          submoduleCfg: [],                                                 
          userRemoteConfigs: [[credentialsId: 'somecredentialid',         
          url: 'git@my.gitlab.secure']]                                            
      ])                                                                    
    }                                                                       
  }
Run Code Online (Sandbox Code Playgroud)

我不清楚文档中的内容doGenerateSubmoduleConfigurations: true,submoduleCfg:用途.

我觉得checkout方式可能是解决方案,但我无法弄清楚如何更新.gitmodules以反映子模块的安全URL.

git jenkins

10
推荐指数
1
解决办法
1148
查看次数

blueocean中的子模块?

我有一个蓝色海洋项目使用ssh键抓取一个git项目,我添加了新的shell命令,但它不会拉动.gitsubmodules文件夹中的子模块:

[submodule "Assets/Engine"]
    path = Assets/Engine
    url = killerbros@vs-ssh.visualstudio.com:22/Game/_ssh/Engine
    branch = "master"
[submodule "Assets/PlatformerModule/Extension"]
    path = Assets/PlatformerModule/Extension
    url = killerbros@vs-ssh.visualstudio.com:22/Game/_ssh/PlatformerModule
    branch = "master"
Run Code Online (Sandbox Code Playgroud)

我尝试为git submodule init和git submodule update添加shell命令,但由于身份验证,它在gitsubmodule更新时失败:

克隆到'/ Users/Shared/Jenkins/Home/workspace/Platform_master-6J2EI5MV24CJ5OZMBARB5I3D276FBUM4RTXAZNAML5SYUAR7S3YA/Assets/Le'...权限被拒绝,请再试一次.许可被拒绝,请再试一次.myapp@vs-ssh.visualstudio.com:权限被拒绝(密码,公钥).致命:无法从远程存储库读取.

我也尝试在git scm插件中添加'高级子​​模块步骤'无济于事.

有没有办法确保它也为这些更新使用正确的ssh密钥?

git ssh jenkins jenkins-blueocean

7
推荐指数
1
解决办法
425
查看次数