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)
это еще одна версия вышеуказанной команды, предоставленная Магнусом Беком.