Перебазирование - это процесс перемещения или объединения последовательности коммитов в новый базовый коммит.Перебазирование наиболее полезно и легко визуализируется в контексте рабочего процесса ветвления элемента.Общий процесс может быть визуализирован следующим образом:
В приведенном ниже примере комбинируется git rebase с git merge для поддержания линейной истории проекта.Это быстрый и простой способ обеспечить быструю переадресацию ваших слияний.
# Start a new feature
git checkout -b new-feature master
# Edit files
git commit -a -m "Start developing a feature"
В середине нашей функции мы понимаем, что в нашем проекте есть дыра в безопасности
# Create a hotfix branch based off of master
git checkout -b hotfix master
# Edit files
git commit -a -m "Fix security hole"
# Merge back into master
git checkout master
git merge hotfix
git branch -d hotfix
После слияния исправления с мастером у нас есть разветвленная история проекта.Вместо простого git-слияния мы интегрируем ветвь объектов с ребазой, чтобы поддерживать линейную историю:
git checkout new-feature
git rebase master
Это перемещает новую функцию на кончик мастера, что позволяет нам делать стандартный быстрыйпрямое слияние с мастером:
git checkout master
git merge new-feature
Взято из Учебник по Atlasian Git Rebase