Попытка понять поведение git.Почему git pull не может/не может объединить локальные изменения?
Когда я исполняю git pull
я получаю предупреждение
error: Your local changes to the following files would be overwritten
by merge:
foo/bar
Please, commit your changes or stash them before you can merge. Aborting
Но если я git stash save
, git stash pull
, а затем git stash pop
, изменения применяются без каких-либо проблем.
Auto-merging foo/bar
...
Почему не может/не git pull
делать то же самое?
'git pull' =' git fetch' + 'git merge' ... pulling делает слияние, поэтому сообщение об ошибке. –
Обратите внимание, что если вы хотите более разумный 'git pull', который делает для вас stash/pull/pop, рассмотрите [git-smart] (https://github.com/geelen/git-smart), и это' git smart- pull' команда. – meagar
рабочий стол git stash save/pop работает над незафиксированным кодом. Как git знает, что вы хотите сделать с вашим незафиксированным кодом? Я бы предпочел, чтобы он предложил вам сказать то, что вы хотите, а не просто сдуть его с помощью слияния или автоматически сшить его. Вы должны обрабатывать незафиксированный код вручную, прежде чем пытаться объединить свои материалы с изменениями вверх (цель pull ...) – g19fanatic