Я новичок в git, и я понимаю, как работает git cherry-pick, но вот моя проблема:
Недавно кто-то в моей команде изменил структуру каталогов в master, но неструктура каталогов в другой ветке.
Теперь, когда я делаю изменения в своем коде в ветке, я хочу перенести их (cherry-pick) в master.Это было нормально, пока структуры каталогов в master и ветке не стали одинаковыми.
topDir / some / subdir / file - master
topDir / some / other / subdir / file - branch
Файл
, чьи изменения должны быть внесены в master, такой же, но не в той структуре каталогов, в которой он содержится. Когда я пытаюсь сделать вишню как обычно, я получаю сообщение об ошибке:
мастер git checkout Ошибка фиксации git cherry-pick: pathspec topDir / some / other / subdir / file не существует
Теперь, каков наилучший способ выбора вишни в этом сценарии?Любые указатели высоко ценятся.
ОК.Я только что заметил, что в том же сценарии, когда я делаю вишню, git достаточно умен, чтобы действительно правильно выбрать один из файлов из коммита, но не распознает другой.
Для использованияТот же пример, который я упомянул в своем первоначальном посте: В том же коммите topDir / some / subdir / file1, topDir / some / subdir1 / file2.
Я иду к мастеру, который имеет "file1" и "file2", просто в другой структуре dir: topDir / src / some / subdir / file1 topDir / src / some / subdir1 / file2.
Теперь, если я выберу вишню, git достаточно умен, чтобы заметить изменения в файле1, даже если это другая структура директории, но не забирает изменения для файла2.Есть указатели?Если кто-то хочет, чтобы я был более ясен, я буду счастлив.
Итак, что я сделал, чтобы обойти проблему - сделать вишню, вручную изменить один git, который не взял, и "git commit -C.