Ви можете використовувати послідовну комбінацію git rebase
та git branch
застосувати групу комітетів до іншої гілки. Як вже було опубліковано wolfc, перша команда фактично копіює коміти. Однак зміни не видно, доки ви не додасте ім'я гілки до верхньої частини комісії групи.
Будь ласка, відкрийте зображення в новій вкладці ...
Для узагальнення команд у текстовій формі:
- Відкритий gitk як самостійний процес , з допомогою команди:
gitk --all &
.
- Біжи
git rebase --onto a b f
.
- Преса F5в gitk . Нічого не змінюється. Але ні
HEAD
відмічено.
- Біжи
git branch selection
- Преса F5в gitk . З'являється нова філія з її комісіями.
Це має з’ясувати:
- Команда
a
- це нове кореневе призначення групи.
- Коміт
b
- це вчинення перед першим вчиненням групи (виключно).
- Коміт
f
- це остання комісія групи (включно).
Після цього ви можете використовувати , git checkout feature && git reset --hard b
щоб видалити коммітов c
до f
від feature
філії.
На додаток до цієї відповіді я написав допис у блозі, де описуються команди за іншим сценарієм, який повинен допомогти загалом її використовувати.
b
базуватися наf
пізніше, але це не має нічого спільного з збиранням вишні.)