7

I have a submodule which I changed some local files. The original repository has been modified and I now wish to do a pull on the submodule, but I get an error saying that I will lose my changes.

How do I force git to ignore local changes and do the pull?

I know there are lot's of similar questions to this, but I couldn't find a question in stack overflow that answered my particular problem (specifically submodules).

4

4 回答 4

5

git reset --hard does exactly that - discard all changes and return to HEAD.

Or you can use git stash and after pull - git stash apply to restore your changes over updated tree.

于 2013-01-06T13:17:51.593 回答
0

This is what worked for me:

Change directory into the submodule then run this:

git checkout -f -b submodule-branch remotes/origin/submodule-branch
于 2015-07-08T19:06:58.010 回答
0

git submodule update --remote --force pathToSubmodude

于 2020-09-21T16:19:50.170 回答
-4

I have a very silly solution, just clone all the files elsewhere, delete your local submodules, and put the new ones in.

于 2013-01-06T12:18:05.700 回答