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

Met*_*kin 6 git git-pull git-submodules

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

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

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

ara*_*aer 7

git reset --hard正是这样做的 - 放弃所有更改并返回到HEAD.

或者您可以git stash在拉取后使用 -git stash apply来恢复对更新树的更改。

如果一个子模块包含另一个子模块,则可以递归地完成

# reset current directory
git reset --hard
# reset all submodules
git submodule foreach --recursive git reset --hard
Run Code Online (Sandbox Code Playgroud)