我有一个子模块,我更改了一些本地文件。原始存储库已被修改,我现在希望 pull 子模块,但我收到一条错误消息,提示我将丢失我的更改。
我如何强制 git 忽略本地更改并进行 pull ?
我知道有很多类似的问题,但我在堆栈溢出中找不到可以回答我的特定问题(特别是子模块)的问题。
最佳答案
git reset --hard
正是这样做的 - 丢弃所有更改并返回到 HEAD
。
或者您可以使用 git stash
并在 pull 之后 - git stash apply
来恢复您对更新树的更改。
如果一个子模块包含另一个子模块,则可以递归完成
# reset current directory
git reset --hard
# reset all submodules
git submodule foreach --recursive git reset --hard
关于Git 子模块 pull 覆盖/放弃任何本地更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14181964/