5

.gitmodules用于跟踪 git 存储库中子模块的文件通常具有每个子模块的名称,如下所示:

[submodule "my-submodule"]
  path = foo/bar/my-submodule
  url = http://github.com/myuser/original-my-submodule

但是,我也看到它用子模块名称中重复的本地路径编写:

[submodule "foo/bar/my-submodule"]
  path = foo/bar/my-submodule
  url = http://github.com/myuser/original-my-submodule

我在我的一个存储库中同时拥有这两种风格,可能是偶然的,我不确定它们为什么不同。

我想确保我正确表达了这些。以下哪个是“正确的”?有关系吗?子模块名称是否用于显示以外的任何内容?

4

1 回答 1

3

gitmodules手册页包括:

该文件包含每个子模块一个小节,小节值是子模块的名称。
该名称被设置为添加子模块的路径,除非它是使用--name选项自定义的git submodule add

然后可能会添加(git submodule add)两次子模块,有和没有--name选项(“没有”意味着:它在 .gitmodules 中使用的默认“名称”是它的路径,如foo/bar/my-submodule)。

似乎无关紧要git submodule add,因为它通常也与--name选项一起使用,使用 . 的两个条目之一.gitmodules
不添加的 git submodule add--name将使用.gitmodules.

如果这两个条目中的两个 url 相同......git submodule add命令的结果是相同的。
除了“添加”之外,该名称未在其他地方使用。

于 2013-05-13T13:28:45.843 回答