Что касается практического, слияние, безусловно, является односторонней операцией. Он сливает одну ветку в другую. Результирующая история после слияния эксперимента с мастером будет выглядеть так:
- o - o - o - o - o - X (master)
\ /
o - o - o - o - o (experimental)
Итак, после одного слияния мастер содержит все изменения, сделанные в эксперименте, но они явно не совпадают.
Я немного озадачен тем, что именно вы имеете в виду под "совпадайте, но держитесь отдельно". Обычной практикой является создание ветки темы для какой-то конкретной цели (функция, исправление ...), а затем объединение ее везде, где требуется эта сущность. Например, исправление может относиться к двум старым выпускам обслуживания, а также к текущему мастеру, поэтому оно будет объединено со всеми тремя.
Я думаю, этот пост в блоге Хунио Хамано (он в настоящее время поддерживает git) - одно из лучших объяснений, которые я нашел, когда именно вам следует объединяться, а когда нет. Это должно ответить на большинство ваших философских вопросов.