带有子模块的Git回购不跟踪本地更改?

丹尼尔451

我有一个包含3个子模块的git存储库,如下所示:

foo/  # main repository
  bar1/  # submodule1
  bar2/  # submodule2
  bar3/  # submodule3

git init在主存储库中执行后,我直接添加了子模块

git submodule add https://github.com/bar1.git bar1
...

现在奇怪的是,如果我添加一个新目录,例如foo/test/git,则不会跟踪其中的更改foo/test/foo/跟踪直接在内部的更改或对子模块的更改。这是为什么?

在我看来,git就像对待foo/test子模块一样,但事实并非如此。

.gitignore看起来像这样:

.idea/

...它基本上只忽略与隐藏的IDE项目相关的目录。

.gitmodules看起来像这样:

[submodule "bar1"]
path = bar1
url = https://github.com/...

[子模块“ bar2”]路径= bar2网址= https://github.com/ ... [子模块“ bar3”]路径= bar3网址= https://github.com/ ...

我是否必须手动告诉gitfoo/test/应该保留在主存储库中并且它不是子模块?

丹尼尔451

我刚刚发现了问题。我不知道为什么,但是我的git-config搞砸了。

做一个简单的git config --list(在中foo/)表明这core.worktree是错误的:

core.worktree=../../../bar1

我不记得手动更改配置。我刚刚克隆了我的存储库的新副本,更新了子模块,并将新的更改复制foo/test/到了新克隆的仓库中现在一切正常。

我猜唯一的问题是我怎么会错误地弄乱“旧的/错误的”仓库的git配置...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章