Git
Chapters ▾ 2nd Edition

A3.8 Appendix C: Команди Git - Латання (patching)

Латання (patching)

Декілька команд Git побудовані на концепції сприйняття комітів як змін, які вони запровадили, ніби послідовність комітів є послідовністю латок. Ці команди допомагають вам керувати гілками в такий спосіб.

git cherry-pick

Команда git cherry-pick використовується, щоб взяти впроваджені в одному коміті Git зміни, та спробувати застосувати їх як новий коміт на поточній гілці. Це може бути корисним лише щоб взяти один чи два коміти з гілки окремо замість зливання гілки, що призведе до надбання всіх змін з неї.

Висмикування (cherry picking) описано та продемонстровано в Процеси роботи з перебазуванням та висмикуванням.

git rebase

Команда git rebase загалом є автоматизованим cherry-pick. Вона визначає послідовність комітів, а потім висмикує їх один за одним у тому ж порядку звідкілясь.

Перебазування докладно розглянуто в Перебазовування, включно з проблемами співпраці, повʼязаними з перебазуванням гілок, які вже стали публічними.

Ми використовуємо її на практиці під час прикладу розбиття нашої історії на два окремих репозиторії в Заміна, також використовуючи опцію --onto.

Ми зустрілись з конфліктом злиття під час перебазування в Rerere.

Ми також використовували її в інтерактивному скриптованому режимі за допомогою опції -i у Зміна декількох повідомлень комітів.

git revert

Команда git revert по суті є git cherry-pick навиворіт. Вона створює новий коміт, який застосовує точну протилежність впроваджених цільовим комітом змін, по суті скасовуючи чи вивертаючи їх.

Ми використовуємо це в Вивертання коміту, щоб скасувати коміт злиття.