我们有一个超级项目和一个包含在其中的子模块。两者都有相同的分支master, staging, featureBranch。
我希望超级项目master跟踪子模块,master超级项目staging跟踪子模块staging。
对于超级项目中的主人,它.gitmodules看起来像这样:
[submodule "submodule"]
path = submodule
url = http://fpr-dev/submodule.git
branch = master
Run Code Online (Sandbox Code Playgroud)
并在舞台上
[submodule "submodule"]
path = submodule
url = http://fpr-dev/submodule.git
branch = staging
Run Code Online (Sandbox Code Playgroud)
现在,当我在 master 上做一个时,git submodule我看到以下输出:
$ git submodule
+e3782f37b1ae23aa0d5537ef3061dfdfec70f77f submodule (heads/Staging)
Run Code Online (Sandbox Code Playgroud)
请注意,它说的是登台。但是当我在子模块中执行 git status 时,我看到:
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)
为什么会这样,我该如何解决?
现在,当我切换到staging并尝试拉 ( git.exe …
我正在使用 Jenkins“高级子模块行为”并检查了“递归更新子模块”选项。但是我只在旧版本中获得子模块。我希望始终拥有子模块的主要修订版。我在“高级子模块行为”中找到了另一个选项,称为“将跟踪子模块更新到分支尖端”。这似乎使用了 --remote 选项。这会解决问题吗?
有任何想法吗?
从带有 svn externals 的 svn 迁移到 git。每个 svn externals 可能有它自己的 svn:externals。我发现这里没有关于如何将带有外部的 svn 迁移到 git 的指南。每个分支可能有它自己的分支标签主干。迁移整个存储库的最佳方法是什么?我正在查看主存储库的 git svn clone 添加 git 子模块,以及每个外部克隆的子模块。但是由于外部是嵌套的,我不知道什么是最好的解决方案。到目前为止使用的脚本:
https://github.com/eneroth/git-externals
https://github.com/eneroth/git-externals
Run Code Online (Sandbox Code Playgroud) git-svn svn-externals git-submodules git-subtree git-subrepo
在git 子模块文档中git submodule add,它显示有一个--reference参数。据推测,这与工作--reference参数的git clone工作方式相同,通过从中复制对象,而不是远程存储库。使用此参数执行后,如果我查看内部.git/modules/<submodule>/objects/info,有一个alternates文件,其中包含引用存储库的路径。
但是,git clone也有一个--dissociate参数,基本上只对初始克隆执行此操作。对于子模块存储库,有没有办法做同样的事情?
我有一个子模块添加到我的存储库中,说它的名字是shared-lib. 我不希望 Jest runner 测试这个库,所以我将此选项添加到 Jest 配置中package.json: "modulePathIgnorePatterns": ["<rootDir>/shared-lib"],
但看起来 Jest 完全忽略了它。任何想法为什么会发生?我用对了吗?这是来自的测试脚本package.json
"test": "cross-env NODE_ENV=test jest --coverage",
无法理解子模块
它们似乎不必要地复杂。通常我完全避免它们,但一个项目迫使我陷入这种情况
所以...
我在我们的开发服务器上有一个带有子模块的 git repo
/myproject
/.git
/files ...
/other
/submodule
/.git
Run Code Online (Sandbox Code Playgroud)
现在因为我们运行一个开发/生产环境,我们可以做的事情非常有限
我如何能
我们传统上使用获取然后合并策略而不是单个拉取。由于团队规模很小,我们也不使用裸仓库。
我尝试了多种不同的方法来实现上述目标,但似乎都不对。似乎涉及很多步骤,所以我一定是做错了什么。
此外,我不希望从子模块远程存储库中获取到 prod 服务器的获取。
只是让您知道我正在从事的项目是一个 drupal 8 项目,在生产中进行开发是完全不合适的,我们甚至不安装 composer 或 drush。
有人可以澄清 SubModule 如何在 azure devops 中工作
MyDevOps 根文件夹
我有一个名为 MyCore.sln 的解决方案,其中包含 4-5 个项目
我有一个名为 MyMain.sln 的主解决方案,其中包含另外 4-5 个引用 MyCore.sln 项目的项目
这一切都在本地编译和工作,但在 azure devops 中构建时失败
进入powershell中的MyMain.sln文件夹并执行如下
执行如下 git submodule add https://myGroup@dev.azure.com/MyGroup/MyProjec/_git/MyCore
我可以看到 .gitmodules 文件
但是,当我去构建管道时,它找不到引用的项目(属于 myCore 存储库)
我错过了明显的吗?
是否有关于如何在 azure devops 中设置子模块的全面说明?
我可以在任何地方想象这个吗?
I would like to make a shell function that takes .gitmodules and iterates over each module executing certain commands based off of each submodules properties (e.g. <PATH> or <URL> or <BRANCH>).
?? The default format of .gitmodules:
[submodule "PATH"]
path = <PATH>
url = <URL>
[submodule "PATH"]
path = <PATH>
url = <URL>
branch = <BRANCH>
Run Code Online (Sandbox Code Playgroud)
?? Pseudocode:
def install_modules() {
modules = new list
fill each index of the modules list with each submodule & its …Run Code Online (Sandbox Code Playgroud) 我正在使用 AWS Amplify 部署我的应用程序。我决定将我的应用程序的一部分分成一个子模块。现在,当我git submodule update --init --recursive在 Amplify 的构建中构建运行时,它给了我一个访问错误,因为它是一个私有存储库并且 AWS 无法访问它。
我有两种选择,一种是使用https来获取 repo,但它需要我将我的用户名和密码放在子模块中。或者想办法让 AWS 生成一个 SSH 密钥,我可以将它与子模块 SSH 访问配对以继续。我想使用后者,但我不知道如何在 AWS Amplify 中使用。
我们有一个存储库app-lib,它在其他 4个存储库中用作子模块,并且在每个存储库中,我都必须为子模块添加所有依赖项。因此,如果我在app-lib 中添加/删除依赖项,我必须调整所有其他存储库。我有办法告诉 Poetry 安装根 repo 依赖项和子模块中的依赖项吗?
该my-package = { path = "../my-package/dist/my-package-0.1.0.tar.gz" }参数似乎仅适用于文件。而且我不知道将所有轮子存储在app-lib 中是否是好的设计。
我有点想合并根 toml 文件依赖项和子模块 toml 文件依赖项,然后安装它们。
谢谢
git-submodules ×10
git ×7
aws-amplify ×1
azure-devops ×1
azure-repos ×1
bash ×1
dependencies ×1
drupal-8 ×1
git-subrepo ×1
git-subtree ×1
git-svn ×1
jenkins ×1
jestjs ×1
python ×1
webpack ×1