конфликты git rebase при слиянии работает нормально - PullRequest
2 голосов
/ 30 марта 2011

Добрый день.

Я работал с git простым svn-способом, делал git pull каждый вечер и был очень доволен этим.Но было досадно, что при каждом нажатии я получаю запись в git log о слиянии.Чтобы избавиться от этого слияния, я пытаюсь начать использовать

git pull --rebase origin master

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

И мне просто интересно, откуда возникают эти конфликты, и пока просто работает слияние.

Вот как выглядят сообщения об ошибках:предупреждение: подавлено 56 пустых пробелов предупреждение: 61 строка добавляет пробельные ошибки.Откат к исправлению базы и трехстороннему слиянию ... Auto-merging promo.pl КОНФЛИКТ (контент): конфликт слияния в promo.pl

Также я играл со следующими заклинаниями, которые не помогли:

git config core.whitespace nowarn
git config core.autocrlf false

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

1 Ответ

1 голос
/ 04 апреля 2011

Вероятно, проблема в том, что ваши коммиты не относятся чисто к текущему состоянию удаленного репо.Это показывает существенную разницу между git pull merge и git pull rebase:

merge извлекает последние коммиты из репо и применяет их поверх ваших коммитов.rebase извлекает последнее состояние репо и применяет ваши коммиты поверх него.

Наиболее вероятная проблема заключается в том, что ваши коммиты, примененные корректно к HEAD, с которого вы начали, не применяются аккуратно к текущему удаленному HEAD.

Для получения дополнительной информации попробуйте Почему git pull --rebase завершается неудачно при воспроизведении существующих коммитов? и git rebase, отслеживая «local» и «remote»

Что касается предупреждений о пробелах, то это всего лишь предупреждения.Хотя я бы порекомендовал поддерживать чистоту вашего пустого пространства для ясности различий, насколько я знаю, они никогда не вызывают конфликтов слияния.

PS Если коммит слияния в журнале раздражает вас, выведите git log--no-merges попытка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...