Как объединить только выбранные файлы из набора изменений в TFS

Мне нужно объединить набор изменений с другой веткой в ​​TFS. Но, к сожалению, из-за того, что в этом наборе изменений произошла нежелательная проверка кода, я не могу объединить полный набор изменений с новой веткой. Поэтому мне нужно пропустить ненужные файлы из набора изменений и объединить другие файлы в новую ветку. Есть ли возможность это сделать? Ps: Поскольку набор изменений огромен, я не могу объединить его вручную.


person Shehani Kalapuge    schedule 24.03.2020    source источник
comment
Я не думаю, что вы можете, вам понадобится НОВЫЙ набор изменений   -  person Stuart.Sklinar    schedule 24.03.2020
comment
@ Stuart.Sklinar О, но есть ли возможность снова зарегистрировать тот же набор изменений?   -  person Shehani Kalapuge    schedule 24.03.2020


Ответы (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, отменить эти файлы.

Если эти файлы по-прежнему содержат какие-то другие необходимые изменения, я бы посоветовал вам напрямую объединить все изменения и создать новый набор изменений после операции слияния, чтобы исключить этот нежелательный код.

Это должно быть самое простое решение.

person PatrickLu-MSFT    schedule 25.03.2020