Мне нужно объединить набор изменений с другой веткой в TFS. Но, к сожалению, из-за того, что в этом наборе изменений произошла нежелательная проверка кода, я не могу объединить полный набор изменений с новой веткой. Поэтому мне нужно пропустить ненужные файлы из набора изменений и объединить другие файлы в новую ветку. Есть ли возможность это сделать? Ps: Поскольку набор изменений огромен, я не могу объединить его вручную.
Как объединить только выбранные файлы из набора изменений в TFS
Ответы (1)
Вы можете сделать это, чего вы собираетесь достичь, вроде частичного слияния.
Частичное слияние регистрируется, когда только некоторые изменения из набора изменений объединяются в цель. Ниже приведены два распространенных сценария, в которых вы можете получить частичное слияние:
Сценарий 1. Отмените некоторые ожидающие изменения при проверке объединенных файлов
В этом случае, несмотря на то, что мы уже объединили набор изменений Dev с Main, он все еще является кандидатом на слияние. Это вызвано тем, что механизм слияния обнаружил, что в этом наборе изменений все еще есть некоторые изменения, которые не были распространены из Dev в Main.
Сценарий 2. Слияние выполнено на уровне функций, а не в верхней части ветки
Например: предположим, что у вас есть две ветки Main и Dev, в каждой из них есть две папки (Feature1 и Feature2), и каждая папка с функциями содержит один файл. Мы редактируем оба файла из папок функций (Dev\Feature1\feature1.txt
и Dev\Feature2\feature2.txt
) и фиксируем изменения.
Если вы выполняете операцию слияния на уровне Feature1.(Changset142→ Changeset143) В окне Pending Changes вы увидите, что будут объединены только изменения, сделанные в папке Feature1
. Завершите слияние.
Если вы посмотрите на историю слияния папки Feature1, вы увидите, что все изменения из набора изменений 142 были объединены в набор изменений 143.
Однако, если вы посмотрите на историю слияния Main, вы увидите, что только части набора изменений 142 были объединены в набор изменений 143. Это нормально, так как набор изменений 142 имеет некоторые изменения — редактирование файла в папке Feature2, которые не были доставлены.
В случае частичного слияния, чтобы выяснить, какие изменения были объединены, а какие изменения из набора изменений были исключены. Единственный способ добиться этого — различить содержимое набора изменений, который был частично объединен, и содержимое набора изменений, созданного в результате слияния. Более подробную информацию вы можете найти в этом блоге: Частичное слияние в TFS — руководство
Итак, если ваш нежелательный код существует только в одном или нескольких файлах, вы можете следовать сценарию 1, отменить эти файлы.
Если эти файлы по-прежнему содержат какие-то другие необходимые изменения, я бы посоветовал вам напрямую объединить все изменения и создать новый набор изменений после операции слияния, чтобы исключить этот нежелательный код.
Это должно быть самое простое решение.