ypv.md 2.9 KB

  1. Принять локальную версию (вашу рабочую копию)

Если вы хотите сохранить только свою версию файла и полностью проигнорировать изменения из другой ветки:

  1. Проверьте, что конфликт есть (Git сам укажет на это).

  2. Выполните команду: git checkout --ours <имя_файла> Или, если конфликтуют все файлы: git checkout --ours .

  3. Добавьте файл в индекс: git add <имя_файла>

  4. Завершите слияние: git commit

Пояснение: --ours означает "наша" версия — та, что была у вас до начала слияния. Все изменения из другой ветки для этого файла будут отброшены.

  1. Принять версию из другой ветки (принимающей)

Если нужно отдать предпочтение версии из ветки, в которую вы вливаете изменения:

  1. Выполните команду:git checkout --theirs <имя_файла>

  2. Добавьте файл в индекс:git add <имя_файла>

  3. Завершите слияние:git commit

Пояснение: --theirs означает "их" версия — та, что была в ветке, которую вы сливаете.

  1. Быстрый способ при полном слиянии

Если вы хотите автоматически разрешить все конфликты в пользу одной из версий без ручного редактирования файлов:

  • В пользу локальной версии:git merge -X ours <имя_ветки>

  • В пользу ветки слияния:git merge -X theirs <имя_ветки>

Важные детали:

  • Если вы уже начали слияние и находитесь в состоянии конфликта, используйте команды git checkout --ours/--theirs для конкретных файлов.
  • Если вы только собираетесь делать слияние — используйте стратегию -X ours/theirs для автоматического разрешения всех конфликтов.
  • После применения выбранной версии обязательно выполните git add для пометки файла как разрешённого и завершите процесс командой git commit.

Пример:

Вы на ветке main, хотите влить feature и отдать предпочтение main

git merge -X ours feature В этом случае при любых конфликтах Git автоматически выберет версию из ветки main.