Как игнорировать ошибку при 'git pull' о том, что мои локальные изменения будут перезаписаны слиянием?

Как мне игнорировать следующее сообщение об ошибке на Git pull?

Ваши локальные изменения в следующих файлах будут перезаписаны слиянием

Что если я захочу перезаписать их?

Я пробовал такие вещи, как git pull -f, но ничего не работает.

Чтобы было ясно, я хочу перезаписать только определенные изменения, а не все.

40 ответов

Я попытался, и это успешно, прежде чем вытащить, позвольте зафиксировать все файлы, которые вы не зафиксировали, то вы не будете получать эти сообщения от AS.

Если эта ошибка из-за окончания строки,

git add
git checkout mybranch

буду работать. Я не совсем уверен, почему это работает.

В моем случае за несколько месяцев до этого я настроил не отслеживать файл локально с помощью

      git update-index --skip-worktree <absolute path to file>

и этот файл изменился в удаленном репо и запутал git, поэтому я использовал

      git stash
git update-index --no-skip-worktree <absolute path to file>
git pull origin master
git stash pop

и это сработало

Мое решение было delete файлы вне среды IDE, которые будут перезаписаны, затем pull.

(вы всегда можете сделать резервную копию и вручную объединить неотслеживаемые данные)

Для Pycharm вы можете сделать Git ->Revert и затем потянуть.

Это сообщение также может произойти, если git-lfs используется и указатель файла был перезаписан реальным файлом.

тогда вы используете:

git stash
git lfs migrate import
git pull

полный вывод из моего дела

λ git stash
Saved working directory and index state WIP on master: 5d4ad47 Merge branch 'feature/...' into 'master'
Encountered 1 file(s) that should have been pointers, but weren't:
        public/apple-touch-icon.png

λ git pull
Updating 5a4ad44..b25f79d
error: Your local changes to the following files would be overwritten by merge:
        public/apple-touch-icon.png
Please commit your changes or stash them before you merge.
Aborting

λ git lfs migrate import
migrate: Fetching remote refs: ..., done
migrate: Sorting commits: ..., done
migrate: Rewriting commits: 100% (0/0), done
migrate: Updating refs: ..., done
migrate: checkout: ..., done


λ git pull
Updating 5d4ad47..a25c79a
Fast-forward
 public/apple-touch-icon.png | Bin 2092 -> 130 bytes
 public/favicon.ico          | Bin 6518 -> 1150 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

см. https://github.com/git-lfs/git-lfs/issues/2839

Проверьте файл, который вы можете перезаписать и потерять локальные изменения, а затем

git checkout --ours ${filePath}
git merge upstream/master

Я получил то же сообщение об ошибке, выполнил
: Команда PluginUpdate из командной строки редактора vim

"Пожалуйста, передайте изменения или спрячьте их перед тем, как объединить"

1. просто физически удалил папку, содержащую плагины из

rm -rf ~/.vim/bundle/plugin-folder/

2. и переустановил его из командной строки vim,
: PluginInstall!
потому что мой ~/.vimrc содержал инструкции для сборки плагина к этому месту назначения:

это создало правильную папку,
и получил новый пакет в эту папку ~./. vim / bundle / reinstalled-plugins-folder
Знаки " ! " (Из-за неудачной команды PluginUpdate) были изменены
в знак " + ", и после этого сработала команда PluginUpdate.

Просто зафиксируйте локальные изменения и объедините коммит -a

Если вы хотите отправить все файлы, попробуйте этоgit push --force-with-lease origin master

Другие вопросы по тегам