У меня есть два репозитория с похожими архитектурами:
repo1:
- file1
- file2 *(this file is non-existent in repo2)
- folder
- file3
- file4
- file5
и
repo2:
- file1
- folder
- file3
- file4
- file5
Repo1 удален для repo2:
git remote add repo1 http://repo1.git
Мне нужно выбирать коммиты из репо1 в репо2
git cherry-pick <commit_repo1>
Обычно все ок. Но я столкнулся с проблемой, если я хочу выбрать изменения в несуществующем файле.
Изменения выглядят так:
folder/file4 | 9 ---------
folder/file5 | 5 -----
file1 | 5 -----
file2 | 5 -----
4 files changed, 24 deletions(-)
В конце: слияние Cherry-pick изменяет несуществующий файл на файл3. Только для удаления изменений
Кто-нибудь знает, как избежать слияния изменений в неправильный файл, если нужный файл не существует?
Попытки:
git cherry-pick --strategy-option theirs <commit_repo1>
git cherry-pick --strategy-option ours <commit_repo1>
Дайте те же результаты:
Auto-merging folder/file3 !!! this file was not changes (instead changed in file2)
Auto-merging folder/file4
Auto-merging file1
file2
в соответствующих ветках? Его переименовали в file3 в той ветке, что в repo2? Потому что я не могу придумать прямого ответа, почему git путает file3 (который, кажется, присутствует в обеих ветках) с file2, который присутствует только в ветке repo1. - person eftshift0   schedule 11.06.2021