Как избавиться от поддельных изменений в git? - PullRequest
3 голосов
/ 11 июня 2010

Я счастливый пользователь PortableGit 1.7.0.2.Сегодня я хотел получить изменения проекта из репозитория GitHub.com, поэтому я сделал git pull.Сбой со следующим сообщением: error: Your local changes to 'main.rb' would be overwritten by merge. Aborting..Я не заботился о локальных изменениях, поэтому набрал git reset --hard HEAD (git clean отсюда не помог ни тот, ни другой), но это не сработало.Когда меня спросили git status, я все равно смог увидеть файл с изменениями.git diff показал мне, что каждая строка файла была изменена, в то время как git diff -b вообще не показала различий, поэтому я думаю, что это проблема окончания строки.Что странно, потому что код выталкивается только с машин Windows.

В любом случае, вопрос: как я могу игнорировать локальные, поддельные изменения и объединяться с последними изменениями из удаленного репозитория?

1 Ответ

2 голосов
/ 11 июня 2010

Сначала вы пробовали git clean -f (обратите внимание на '-f')?
С git config Страница справочника:

clean.requireForce

Логическое значение, заставляющее git-clean ничего не делать, если не дано -f или -n. По умолчанию true .

Во-вторых, вы установили для autocrlf значение false , как я упоминал в этом вопросе ?
(даже еслипри перетаскивании с компьютера с Windows на ПК с Windows текстовый файл с Unix eol будет преобразован в Windows eol)

С учетом этих двух моментов вы сможете использовать.

...