VS2022 - 子模块的 Git 更改始终显示更改

com*_*mby 5 git-submodules visual-studio-2022

我有一个大型解决方案(CoreServices),它利用公共库(Common)。我有另一个大型解决方案,它也利用公共库,因此子模块似乎是正确的答案。大多数时候,他们是。

VS2022 应该支持这些子模块。然而,在我的 Git Changes 窗口中,它总是说我有一个修改过的子模块引用 - 而且我在哪个分支上并不重要。我无法进行更改...或撤消它。尝试提交告诉我没有文件。我想也许我会找到提交哈希在超级项目上的位置并更新它,但无济于事。

谁能解释这种行为?

常见的变化 - 不能前进或后退 - 甚至不能切换分支

Esb*_*ach 6

对于任何看到这个的人。

似乎有一些不同的情况可能会发生这种情况。对我来说,子模块陷入了修改状态,并且执行git restore modulenamegit checkout modulename或 任何变化都git submodule update没有执行任何操作。

重置子模块对我有用: git submodule foreach --recursive git reset --hard

或者,如果这打破了你可以尝试:

git submodule deinit -f .
# Initialize again
git submodule update --init --recursive
Run Code Online (Sandbox Code Playgroud)