问题标签 [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 投票
7 回答
55532 浏览

git - 如何将 git 补丁从一个存储库应用到另一个存储库?

我有两个存储库,一个是库的主存储库,另一个是使用该库的项目。

如果我对从属项目中的 进行修复,我想要一种简单的方法将该补丁应用回上游。

该文件的位置在每个存储库中都不同。

  • 主要回购:www.playdar.org/static/playdar.js
  • 项目:playlick.com/lib/playdar.js

我尝试git format-patch -- lib/playdar.js在 playlick 项目上使用,然后git am在主 playdar repo 上使用,但补丁文件中的不同文件位置引发了错误。

有没有一种简单的方法可以将补丁从给定文件上的给定提交应用到其他地方的另一个任意文件?

对于奖励积分,如果您要应用补丁的文件不在 git 存储库中怎么办?

0 投票
2 回答
634 浏览

git - 子模块和分支之间的中间地带?

我刚刚开始为我的项目未完成的功能创建主题分支,由 Git 管理。它们都是非常独立的,一个主题分支不直接与另一个主题分支相关。然而,所有分支都有一些共同点,master分支是系统的核心,主题分支只是扩展了master分支的功能。

如果我理解正确,如果我在主分支中做一些影响(m)任何主题分支的事情(例如,更改用于在核心和各个功能之间进行通信的 API),那么更改不会传播到主题分支自动,以便可以相应地固定分支。这些更改需要手动合并或挑选到其他分支中。

我知道使用子模块可以实现这一点。然而,子模块导致主项目和潜在功能项目之间的分离过多,主要是因为这些功能不能自我维持。他们依靠核心。

所以,我正在寻找某种方法来说明某些文件/目录对于某个分支是唯一的,其他所有内容都来自主分支。缺少一个更好的类比,用 Photoshop 术语来说,我希望master是背景层,每个主题分支都是在它上面的一个部分透明的图像层,具有一些独特的内容。

0 投票
3 回答
3214 浏览

git - 您如何处理使用子模块部署 Rails 应用程序?

我最近将我的几个插件变成了子模块,并意识到当你“git clone”一个存储库时,子模块目录将是空的。这对于共同开发者初始化他们的子模块和更新是有意义的。

但是,当我使用 capistrano 部署时,子模块代码显然不会被部署,这会导致问题。我可以进入发布分支并在那里初始化并更新模块,但这显然不是一个理想的解决方案。

有没有人有关于如何处理这个问题的建议?它像 capistrano 任务一样简单吗?

我在生产方面有点菜鸟。

谢谢!

0 投票
1 回答
1756 浏览

linux - git 子模块:ln -s

我怎样才能创建一个可以生存的目录链接git submodule update

给定以下示例目录结构:

我使用以下命令proj/lib/创建了一个软链接:proj/lib3/submod/lib

创建以下目录结构:

但是,跑步git submodule update会破坏我的链接。我的印象是软链接是到相对路径的逻辑链接,因此删除对象并重新添加它将保持链接完整。我怎样才能达到预期的效果?

0 投票
21 回答
1343966 浏览

git - 拉取最新的所有 git 子模块的简单方法

我们正在使用 git 子模块来管理几个依赖于我们开发的许多其他库的大型项目。每个库都是一个单独的存储库,作为子模块引入依赖项目。在开发过程中,我们经常想去获取每个依赖子模块的最新版本。

git 是否有内置命令来执行此操作?如果不是,那么可以使用 Windows 批处理文件或类似文件怎么样?

0 投票
2 回答
674 浏览

git - git 子模块:自定义

使用 git 子模块时,进行自定义的首选方式是什么?我是不是该...

  • 分叉项目并跟踪分叉
  • 尝试覆盖默认行为
  • 在本地进行更改

如果这些都没有意义,那又是什么?

0 投票
1 回答
6038 浏览

git - 来自 Hg 回购的 git 子模块?

我有一个非常古老的项目,它直接包含来自另一个项目的源代码,而不是将其链接为库。在糟糕的日子里,当我将所有内容都保存在 CVS 中时,我在供应商分支上拥有外部代码并定期导入。现在我的项目在 git 中,将外部项目包含为子模块会更有意义。但是,有一个问题:外部项目已迁移到 Mercurial。我找到了 git-hg 和 hg-git 项目,但我不确定其中任何一个是否正确处理子模块。

有没有办法创建一个指向 Hg 存储库而不是 git 存储库的 git 子模块?

0 投票
3 回答
31518 浏览

git - 无法跟踪 Git 子模块中的文件

问题:当我在任何文件中都没有文件时,将文件添加./shells/smallApps/*到 Git 。./.git/./.git/info/exclude.gitignore

这个问题是基于这个问题没有完全解决的。

我跑

我注意到我的 Git 中没有文件“shells/smallApps/*”

我想通过运行将它们添加到我的 Git 中

我注意到由于某种原因这些文件没有添加到我的 Git 中,例如

我在 .git/info/exclude 和 .gitignore -files 中都没有文件。

最后的警告是什么意思?

0 投票
3 回答
11239 浏览

git - Git子模块到子文件夹

在 svn 中,您可以将存储库链接到另一个 svn 存储库中的任何文件夹。我想知道git是否有类似的功能?基本上我想要一个 git 子模块在我的存储库中,但我希望子模块是指向另一个 git 存储库的子文件夹的指针,而不是整个存储库。这可能吗?

0 投票
1 回答
3175 浏览

git - 通过子模块在 Git 中显示外部代码依赖关系

已解决的问题:通过子模块显示外部代码依赖性:感谢VonC

当前问题:在两个文件夹中有一个没有重复内容的子模块

当前问题的临时解决方案:将文件夹名称更改为 bin-github,因为作为子模块的文件夹名称为 bin。这意味着我需要在我的家中复制内容。

我的 HOME 文件夹依赖于 ~/bin。我的文件位于存储库Masi的 HOME 中,而在 Github的 repo bin中的 ~/bin 中。我在家中的相关文件夹结构:

我想知道如何在Masi显示 make ~/bin 一个 Git 的子模块。

你如何使 ~/bin 成为我的 Git 的子模块 ~/ ?


#3 回复 VonC 的评论:

我的 .gitmodules

我觉得我不需要再添加子模块了,因为我的 .gitmodules 中有它。

我跑


#2 回复 VonC 的回答:

我将 .gitmodules 更改为以下内容,这样我的家中就没有它的副本。

这似乎是一种不同的情况,因为我无法像上面那样拉出 submodule-bin 文件夹。

我现在在一个新克隆的 git-repo 中得到以下信息

我的 .gitmodules 中有外部存储库。为什么要我这样做git add


回复 VonC 的回答:

我跑

因为我无法添加与现有文件夹同名的新仓库bin

我的 .gitmodules 是

我跑

我得到一个 emty bin 目录。

如何获取 bin 的内容?