Будут ли файлы, пропущенные в git cherry-pick, включены в более позднее слияние git?

#git #git-merge #git-cherry-pick

#git #git-merge #git-cherry-pick

Вопрос:

Я работаю над проектом с использованием Moodle 2.9.4

Есть некоторый код, который я хотел бы выбрать из Moodle 3

но я не хочу включать некоторые файлы, обновленные в коммиты.

В конечном итоге проект будет обновлен до Moodle 3 с помощью git merge

Будут ли исключенные файлы включены в слияние?

Если нет, то какое лучшее решение?

Ответ №1:

Я вижу два способа понять ваш вопрос:

Будут ли файлы, пропущенные в git cherry-pick, включены в более позднее слияние git?
Если я исключу их из cherry-pick, будет ли слияние по-прежнему добавлять их?

ДА

Будут ли файлы, пропущенные в git cherry-pick, включены в более позднее слияние git?
Возникнут ли у меня проблемы с этими файлами при слиянии, если я исключу их из cherry-pick?

НЕТ

Git заботится только о changes so cherry-pick — это просто копирование нескольких changes из ветки в другую. Исключая некоторые файлы из коммита, которые вы фактически исключаете changes , чтобы упростить последующее слияние.
Если вы когда-либо объединитесь с Moodle 3, у вас могут возникнуть конфликты слияния с changes тем, что вы выбрали из Moodle 2, если ветка Moodle 3 вносит дополнительные changes изменения в эти изменения после того, как вы их выбрали.

TL; DR: чем меньше изменений вы выбираете, тем легче это может быть в будущем, так что, на мой взгляд, это хорошая стратегия для исключения ненужных файлов из процесса выбора.

(Мне нравится, чтобы мои ответы были короткими, но не стесняйтесь спрашивать о большей точности, если есть что-то, чего вы не поняли. )