用于跟踪git存储库中子模块的.gitmodules
文件通常具有每个子模块的名称,如下所示:
[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
我在其中一个存储库中有这两种样式,可能是偶然的,我不确定它们为什么会有所不同。
我想确保我正确表达了这些。哪一个是“正确的”?有关系吗?子模块名称是否用于显示以外的任何其他内容?
答案 0 :(得分:2)
该文件每个子模块包含一个子部分,子部分值是子模块的名称。
该名称设置为添加子模块的路径,除非使用--name
的git submodule add
选项进行自定义。
然后可能会添加一个子模块(git submodule add
)两次,带有和不带--name
选项(“不带”表示:.gitmodules中使用的默认“名称”是其路径,如foo/bar/my-submodule
)。
git submodule add
似乎无关紧要,因为它通常与--name
选项一起使用,使用.gitmodules
的两个条目中的一个。
没有--name
的git子模块添加将使用.gitmodules
的第二个条目。
如果这两个条目中的两个url相同... git submodule add
命令的结果是相同的
除了“添加”之外,该名称不会在其他地方使用。