Ребаз - это запрос на перемещение серии патчей из одного места в вашей иерархии фиксации в другое место в вашей иерархии. Это как серия 'cherry-pick' (да, это действительно так; -)
Итак, сначала вам нужно определить правильный список коммитов, рассматриваемых как патчи, которые вы хотите переместить. Остерегайтесь недопонимания некоторых параметров диапазона ревизий (некоторые не работают. Они даже не говорят, что вы думали). Остерегайтесь своего «Upstream» - это может быть не то, что вы думаете, поэтому Git может подумать, что патч уже применен к «upstream».
Получив вашу серию патчей (диапазон коммитов) эти патчи нужно применить один за другим к новому месту назначения. Вы делаете это, потому что это лучшее место, и обычно к нему уже применены некоторые исправления.
Первый патч (diff) применен, произошел небольшой конфликт, скажем, новое (вышестоящее) место имело переименовал переменную, пока вы редактировали формулу. Это будет конфликт (два изменения в одном месте или в соседних строках). Итак, вы исправляете конфликты первого патча.
Теперь второй патч попал в ту же неловкую точку. Это тупая разница. Он знает недостаточно о переименовании и исправлениях строк и поэтому не может найти правильную точную отправную точку, поэтому вам придется решить ее снова. Подайте третий патч, и тот же стиль проблемы повторяется.
Это особенно плохо, если ваши коммиты не атомы c (т.е. каждый действительно маленький!). и без изменений semanti c (переименовывает et c).
Итак, перебазируйте довольно часто, если у вас есть быстрое движение вверх по течению (т.е. продолжайте в том же духе), или делайте это очень редко (т.е. делайте одно большое сеанс fix-it).
Также используйте функцию «ReReRe». Это возможность повторного использования записанного разрешения Git. Вы должны включить это. Он запомнит каждое из ваших «исправлений», а затем, если ему понадобится снова, он может использовать его повторно. Таким образом, вы можете попрактиковаться с исправлениями, забыть о плохих и перезапустить ребаз (используйте опцию --onto для временных попыток).
Документация по переосмыслению невелика, но есть несколько веб-сайтов. статьи.