Полезные флаги для git rebase

Команда git rebase поддерживает несколько флагов, которые позволяют контролировать процесс rebase и изменять его поведение. Вот основные флаги, которые можно использовать с командой git rebase.

Основные флаги команды git rebase

-i или --interactive

Включает интерактивный режим rebase, который позволяет изменять, объединять, удалять коммиты и изменять сообщения коммитов.

git rebase -i <base>

-p или --preserve-merges

Сохраняет коммиты слияния (merge commits) при выполнении rebase.

git rebase -p <base>

-r или --rebase-merges

Перестраивает коммиты слияния при выполнении rebase. Это позволяет изменять коммиты слияния так, как если бы они были обычными коммитами.

git rebase -r <base>

--onto

Позволяет указать новую базу для ветки, отличную от базовой ветки. Полезно для более сложных сценариев rebase.

git rebase --onto <newbase> <upstream> <branch>

--continue

Продолжает процесс rebase после разрешения конфликтов или редактирования коммита.

git rebase --continue

--abort

Прерывает процесс rebase и возвращает репозиторий в состояние до начала rebase.

git rebase --abort

--skip

Пропускает текущий коммит и продолжает процесс rebase. Используется, если коммит невозможно применить без конфликтов.

git rebase --skip

-X или --strategy-option

Передаёт параметры выбранной стратегии слияния.

git rebase -X theirs <base>

-S или --gpg-sign

Позволяет подписывать коммиты с использованием GPG.

git rebase -S <base>

--exec

Выполняет указанную команду после каждого коммита при выполнении rebase.

git rebase --exec "команда" <base>

-q или --quiet

Уменьшает количество выводимых сообщений во время выполнения rebase.

git rebase -q <base>

-v или --verbose

Увеличивает количество выводимых сообщений во время выполнения rebase.

git rebase -v <base>

Примеры использования

  1. Интерактивный rebase последних 5 коммитов:

    git rebase -i HEAD~5
    
  2. Rebase текущей ветки на другую базу:

    git rebase --onto new-base upstream-branch topic-branch
    
  3. Продолжение rebase после разрешения конфликтов:

    git rebase --continue
    
  4. Прерывание rebase:

    git rebase --abort
    
  5. Rebase с параметром стратегии слияния:

    git rebase -X theirs master
    

Теперь вы знаете основные флаги команды git rebase и как они могут быть использованы для управления процессом rebase.