Cherry pick только коммиты, которые касаются определенного файла

Каков краткий способ запросить "вишня выбирает из другой ветки только коммиты, которые касаются определенного файла"? т.е. команда git log ..other-branch afile выдает список незакрытых коммитов в другой ветке, которые касаются "afile"; Как я могу запросить воспроизведение этого же набора коммитов в текущей ветке?

1 ответ

Решение

git cherry-pick $(git log --reverse --pretty=format:"%H" filename)

Должен сделать свое дело. git log --reverse --pretty=format:"%H" filename в основном дает вам разделенный строкой список SHA всех коммитов, которые изменили filename в обратном порядке, поэтому коммиты объединяются в правильном порядке. Затем мы передаем список в git cherry-pick.

git cherry-pick $(git rev-list --reverse HEAD -- filename)это еще одна версия вышеуказанной команды, предоставленная Магнусом Беком.

Другие вопросы по тегам