Git子模块拉式覆盖/放弃任何本地更改

Git子模块拉式覆盖/放弃任何本地更改,git,git-submodules,git-pull,Git,Git Submodules,Git Pull,我有一个子模块,我更改了一些本地文件。原始存储库已被修改,我现在希望对子模块执行拉取操作,但我收到一个错误消息,表示我将丢失更改 如何强制git忽略本地更改并执行拉取 我知道有很多类似的问题,但我在堆栈溢出中找不到一个问题来回答我的特定问题(特别是子模块)。我有一个非常愚蠢的解决方案,只是在别处克隆所有文件,删除本地子模块,然后把新的放进去。git reset——硬的正好做到了这一点——放弃所有更改并返回到HEAD 或者您可以使用git stash和pull之后-git stash apply在

我有一个子模块,我更改了一些本地文件。原始存储库已被修改,我现在希望对子模块执行拉取操作,但我收到一个错误消息,表示我将丢失更改

如何强制git忽略本地更改并执行拉取


我知道有很多类似的问题,但我在堆栈溢出中找不到一个问题来回答我的特定问题(特别是子模块)。

我有一个非常愚蠢的解决方案,只是在别处克隆所有文件,删除本地子模块,然后把新的放进去。

git reset——硬的
正好做到了这一点——放弃所有更改并返回到
HEAD


或者您可以使用
git stash
和pull之后-
git stash apply
在更新的树上恢复您的更改。

这就是对我有效的方法:

将目录更改为子模块,然后运行以下操作:

git checkout -f -b submodule-branch remotes/origin/submodule-branch

git子模块更新--远程--强制路径到子模块

如果必须,我会这样做,但我不想删除并重新添加子模块。您是从子模块目录内还是从父目录中执行git reset--硬放弃当前存储库中的所有更改。如果在子模块内完成,它将放弃子模块中的更改。如果在外部--子模块将保持不变。