问题标签 [git-submodules]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
16657 浏览

git-submodules - git submodule update 只需要最初?

我掌握了 git submodule 的窍门(一厢情愿?),我想出了更具体的问题,这是一个好兆头......

我试图在 和 中找到超级项目引用的子模块的哪个修订版.gitmodules.git/config但那里没有提到任何内容...
场景是我正在更改子模块的根位置(从中导入它们),然后将它们拉到它们“子模块”的位置......
除了从超级项目提交以将这些更改合并到超级项目存储库中,我还需要做“ git update”来注册新拉入的子模块提交吗?

基本上问题是:

git submodule update只有当我第一次克隆超级项目时,或者每次拉出子模块(从它自己的仓库)之后,我才 需要“ ”吗?

谢谢

0 投票
2 回答
1816 浏览

git - Git 子模块:每个 URL 是否可以有多个?

我想知道每个 git 子模块是否可以有多个 URL。如果其中一个已关闭或有人在阻止其中一个的代理后面,则拥有多个源会很感兴趣。

你有过这个问题吗?你会怎么解决?

0 投票
2 回答
75 浏览

svn - 在最近转换的 svn 中创建子模块到 git repo

我最近刚刚将一个有一堆项目的旧公司 svn repo 转换为 git repo

IE。

回购

  • 项目一
  • 项目-2
  • 项目..n

在这个新的 git 存储库中,您如何建议为每个单独的项目创建一个子模块?

0 投票
4 回答
90704 浏览

git - 如何设置 git 项目以使用外部 repo 子模块?

我想创建一个拉入远程仓库的仓库。

例如,假设 jQuery 作为一个子模块:

使用 jQuery 作为子模块创建存储库并将我自己的外部存储库添加为远程存储库的过程是什么。

此外,一旦设置完成,如果我推/拉到我自己的遥控器,外部是否会保持不变?

0 投票
10 回答
66907 浏览

git - 如何制作浅 git 子模块?

有可能有浅子模块吗?我有一个包含几个子模块的超级项目,每个子模块都有很长的历史,所以它会不必要地拖累所有的历史。

我所发现的只是这个未回答的线程

我应该破解 git-submodule来实现这个吗?

0 投票
13 回答
250134 浏览

git - Git子模块头'引用不是树'错误

我有一个带有指向无效提交的子模块的项目:子模块提交仍然是本地的,当我尝试从另一个仓库中获取它时,我得到:

我知道子模块 HEAD 应该是什么,有什么方法可以在本地更改它,而无需从确实有 commit的 repo 推送2d7cfbd09fc96c04c4c41148d44ed7778add6b43

我不确定我是否清楚......这是我发现的类似情况。

0 投票
1 回答
711 浏览

git - 如何使用 gitweb 确定子模块 SHA-1?

我想在不克隆任何东西的情况下确定子模块的关联 SHA-1 - 即远程。git-ls-remote 没有显示这些信息,所以我最初的方法是从 gitweb 中抓取 XHTML 并将 SHA-1 拉出那里。

不幸的是,gitweb 似乎对子模块的支持很差,在尝试查看关联路径的历史记录时显示 404 和 500“未知对象”错误。因此,我似乎无法确定子模块的关联 SHA-1,除非我可以确定修改 git-link 的确切提交,然后解析差异,例如:

不幸的是 gitweb 被子模块破坏了,我无法找到一种方法来确定哪个提交包含这个差异,所以除非我对每个提交进行详尽的搜索,否则这是不行的。

我已经尝试将 gitweb 与 git 1.6.4.2 和 1.6.6.1(最新稳定版)捆绑在一起。

任何人都可以想到一个解决方案,或者可能是一种替代方法来做到这一点,而不必克隆每个存储库。你看,我想为我们组织中的所有存储库以及每个存储库中的每个分支执行此操作,这是很多分支。我这样做是为了获取所有子模块提交的列表并确定是否有任何已过时。

如果唯一的解决方案是单独克隆每个存储库并在其中运行查询,那么就必须这样做。不幸的是,我们的一些存储库非常大,因此这将使整个操作非常缓慢。

0 投票
2 回答
745 浏览

django - 为项目骨架创建一个 git repo

我创建了一个自定义项目框架作为我的 django 项目的开始,托管在 github 上的公共 repo 上。

我想将其用作我的新公共和私人项目的根文件夹,也托管@github。

问题是我不能将这个用作子模块,因为据我所知,我不能在同一个 git repo 的另一个子模块中添加子模块。在我的情况下,我想在骨架文件夹中添加子模块。

作为练习,对于一个公共 projectB,我刚刚创建了我的骨架的一个分支,但似乎很棘手,因为我的 projectB 代码托管在一个单独的分支上的骨架 repo 中。

你会如何在 GIT 中做到这一点?

另外,github上有什么技巧可以从公共回购中创建“私人分支机构”吗?

谢谢 :)

朱利安

0 投票
2 回答
282 浏览

git - 如何将 git 中的子模块更新为该外部仓库中的 HEAD 提交

我在找到这个问题的答案时遇到了问题,所以我将它发布给后代。

情况是,您有一个带有子模块的 git repo(类似于 svn 外部)。您想要更新该引用以指向外部存储库中的不同提交。你可能认为“git submodule sync”或“git submodule update”会这样做——你错了。

0 投票
2 回答
2061 浏览

git - 重用 git 存储库的一部分

我有以下项目设置:

  • Solution A
    • Project 1(轻量级组件)
    • Project 2(包含很多文件并依赖于Project 1

Solution A是一个单一的git存储库。然后我创建了另一个解决方案,发现我可以重用甚至更新Project 1. 所以我的第二个解决方案可能如下所示:

  • Solution B
    • Project 1(必须分享!)
    • Project 3(取决于Project 1)。

现在我想Project 1成为一个共享组件。也就是说,每次我Project 1从任一解决方案(AB)更改源代码时,我都需要另一个解决方案相应地更新。

也许这与git的子模块功能有关。但是,我能够使用它的唯一方法是将整体指定为. 由于. 我只需要它的一小部分作为子模块。Solution ASolution BSolution A

我知道这在svn中是可能的,并且完全按照我的描述工作:您在svn:externals属性的外部存储库中指定一个目录。

有什么建议吗?或者,我错过了什么?