ours
выбирает только изменения из текущей ветки (ветки, в которую сливается). Все изменения из целевой ветки (ветки, которую сливают) игнорируются. Это полезно, когда нужно "зафиксировать" текущее состояние ветки, отбросив изменения из другой ветки, возможно, чтобы впоследствии пересмотреть и внедрить их вручную. Результатом слияния становится текущая ветка, но с зафиксированным фактом слияния.
Стратегия слияния `ours` в Git - это специализированная стратегия слияния, которая игнорирует все изменения, внесенные в целевой ветке (ветке, в которую происходит слияние), и вместо этого сохраняет текущее состояние ветки, в которой выполняется слияние (ветке, из которой происходит слияние). По сути, она говорит Git: "Не бери ничего из другой ветки, просто отметь, что мы слились".
Когда использовать `ours`?
Пример использования:
Предположим, вы находитесь в ветке `main` и хотите слить ветку `feature/x`, но хотите сохранить текущее состояние `main`:
git checkout main
git merge -s ours feature/x
git commit -m "Слияние feature/x, сохраняем текущее состояние main"
После выполнения этих команд ветка `main` будет содержать информацию о том, что она была слита с `feature/x`, но содержимое файлов в `main` останется без изменений. Изменения из `feature/x` будут полностью проигнорированы.
Важно: Использование `ours` следует выполнять с осторожностью, так как это может привести к потере изменений, внесенных в целевой ветке. Необходимо тщательно оценить последствия перед использованием этой стратегии.
Влияние на конфликтные ситуации: Стратегия `ours` не разрешает конфликты, она просто обходит их, выбирая версию файла из текущей ветки. Поэтому, если были бы конфликты при обычном слиянии, с `ours` они не возникнут, но изменения из целевой ветки будут утеряны.