Я знаю, что объединение несмежных наборов изменений может быть не очень хорошей идеей. Однако существует, по крайней мере, одна ситуация, в которой объединение несмежных наборов изменений (вероятно) ничего не сломает: когда нет никаких промежуточных изменений в затронутых отдельных файлах. (По крайней мере, это не сломалось бы хуже, чем череда выбранных вишней слияний, проверяемых каждый раз; и, по крайней мере, таким образом вы обнаружите разрыв перед регистрацией).
Например, допустим, у вас есть ветвь Main и Development. Они начинаются одинаково (например, после выпуска). У них есть два файла, foo.cs и bar.cs.
Алиса вносит изменения в Development \ foo.cs и регистрирует их как changeset # 1001.
Боб вносит изменения в файл Development \ bar.cs и регистрирует его как # 1002.
Алиса делает другое изменение в Development \ foo.cs и регистрирует его как # 1003.
Теперь мы можем теоретически объединить оба изменения # 1001 и # 1003 из dev-to main в одну операцию. Если мы попытаемся объединиться на уровне ветви dev-to-main, нам придется сделать это в виде двух операций. В этом простом, надуманном примере достаточно просто объединить один файл, но в реальном мире, где задействовано много файлов, это не так просто.
Несмежное объединение - одна из причин, по которой «объединение по рабочему элементу» не реализовано в TFS.