С Мерзавцем действительно ли возможно повторно применить пересмотр предка?

Скажите, что у меня есть пересмотр, от которого это давным-давно и внесло желательное изменение.

Затем позже, у меня был пересмотр B, который внес много изменений в большом количестве файлов, включая вытирание изменения A.

Теперь, намного позже, я хочу повторно применить пересмотр A. Существует ли хороший способ сделать это? Слияние и команды избирательного подхода, кажется, пропускают изменения, которые являются предками, и я не вижу флагов для игнорирования родословной.

Всегда существует разность/применять, но это - действительно лучший способ? Кажется, что это могло быть "с потерями" (прохождение через посреднического формата патча) и не могло бы позволить мерзавцу использовать все инструменты обычно в его распоряжении..., но это - неинформированная догадка с моей стороны.

14
задан mackstann 20 July 2010 в 23:08
поделиться

2 ответа

Вы можете использовать git checkout $ REVISION, чтобы вернуться к вашей версии (фиксации). Затем вы должны создать новую ветку оттуда.

git.cmd branch YOURCOMMIT

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

-2
ответ дан 1 December 2019 в 13:07
поделиться

git cherry-pick A сделает именно то, что вы хотите. Он не смотрит на происхождение - он смотрит только на то, какие изменения уже были применены.

Вот пример:

git cherry-pick A
git cherry-pick A
git cherry-pick A

создаст только один новый коммит (максимум). Вторая и третья команды не работают, так как изменения A уже были применены. Однако команда

git cherry-pick A
git cherry-pick B
git cherry-pick A
git cherry-pick B

создаст четыре новых фиксации. Первый и третий коммиты сделают одно и то же, а второй и четвертый вернут первый и третий (даже если коммит B внес другие изменения, кроме возврата A). Другими словами, это то же самое, что и

git cherry-pick A
git revert --no-edit HEAD
git revert --no-edit HEAD
git revert --no-edit HEAD

Надеюсь, это поможет.

22
ответ дан 1 December 2019 в 13:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: