gpt4 book ai didi

git submodule init 什么都不做

转载 作者:IT王子 更新时间:2023-10-29 00:46:11 27 4
gpt4 key购买 nike

我对“git submodule init”有一个奇怪的问题

当我使用“git submodule add url location”添加子模块时,它很好地克隆了存储库,一切正常。

当我将所有更改推送回父存储库、添加 .gitmodules 文件等并克隆存储库时,我尝试使用“git submodule init”初始化所有子模块

什么也没有发生 :( 字面上什么都没有,没有输出,没有额外的文件,它甚至没有尝试做任何实际的事情。

所以我想知道,我做错了什么?

.git 模块:

bash$ cat .gitmodules
[submodule "projects/subprojectA"]
path = projects/subprojectA
url = ssh://user@bitbucket.company.com/test/projectA.git

[submodule "projects/subprojectB"]
path = projects/subprojectB
url = ssh://user@bitbucket.company.com/test/projectB.git

最佳答案

好的,我知道我哪里做错了。

当我添加 git 子模块时,我做了一个 git status,它告诉我三件事发生了变化

.gitmodules
projects/subprojectA
projects/subprojectB

当我将所有更改推送到存储库时,我不想提交子模块,因为我认为它会添加我刚刚克隆的所有文件,所以我只是执行了 git add .gitmodules 并提交并推送了它。

但这是错误的,你需要执行 git commit 并提交它告诉你的所有内容,然后当你这样做时,git 会注册这些路径,当你克隆时,它就会工作。

但如果您不提交这些文件夹,它不会注册它们,也不会在您克隆父存储库时克隆它们。

所以那是我的错误,我误解了添加这些目录会将所有子模块代码添加到父存储库中,我试图回避它并停止工作。

所以只需添加您的子模块并提交结果,一切都会很好:D

无论如何,感谢保护者的帮助!

关于git submodule init 什么都不做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39765663/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com