У меня есть фиксация на другой ветке, которая просто добавляет кучу файлов в новый каталог.weird git cherry-pick поведение
Предположим, что у фиксатора есть id 123456
, и он добавляет каталог с именем foo
, полный материалов.
Теперь в моей другой ветке, из чистого рабочего дерева, я делаю git cherry-pick 123456
, ожидая, что он просто добавит каталог foo
.
Но нет! вишня выбегает и включает в себя множество других изменений в других файлах (!), дающих мне несмываемые пути.
Несомненно, обязательство, что вы собираете вишню, должно содержать некоторые вещи, которые вы не знали о/ожидании, тогда? Ну, нет, git show --oneline --name-status 123456 | grep -v foo
ничего не возвращает. то есть все изменения не происходят с файлами вне foo
.
Что происходит и как я могу сделать это правильно?
Неясно, был ли добавлен «foo» над HEAD после набора вишни. Если нет, попробуйте запустить вишневый кинг с флагом -x - возможно, вы добавили другую фиксацию, чем тот, который вы намеревались. – Vasiliy
@ VasiliyZukanov каталог 'foo' не существовал в рабочем дереве во время выдачи вишневого кирка (это то, что вы имели в виду?). '-x' относится только к примечанию, которое сопровождает новый коммит. Я считаю, что это странная ошибка git (см. Мой ответ ниже). – artfulrobot
Я хотел спросить, добавили ли 'foo' в ветку, из которой вы выполнили вишневый выбор. Во всяком случае, если обновление Git решит вашу проблему - путь. – Vasiliy