2013-01-06 369 views
3

我有一个子模块,我更改了一些本地文件。原始存储库已被修改,我现在希望对子模块进行一次拉取,但出现错误,说我将失去我的更改。Git子模块拉覆盖/丢弃任何本地更改

如何强制git忽略本地更改并执行此操作?

我知道这里有很多类似的问题,但我无法找到堆栈溢出中回答我的特定问题(特别是子模块)的问题。

回答

3

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

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

-3

我有一个非常愚蠢的解决方案,只需复制所有文件的其他地方,删除您的本地子模块,并把新的

+0

我会做,如果我有,但我宁愿不删除并重新添加子模块。 – Metalskin

0

这是对我工作:

目录改为子模块,然后运行这个命令:

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