Git merging - разрешить конфликт, используя мои изменения - PullRequest
0 голосов
/ 31 октября 2018

Я ищу команду git, которая сделает объединение другой ветви (например, разработка) с моей:

  1. автоматическое разрешение конфликтов,
  2. если есть конфликты, которые невозможно разрешить с помощью автоматического слияния, тогда возьмите мою версию изменений.

Я пытался использовать такие команды, как git merge -s ours, но он принимает мои изменения во всех конфликтах. И это не то, что я хочу. Если, например, версия пакета, которую я не изменил, была обновлена ​​в ветви, которую я объединяю с моей, я, очевидно, хочу, чтобы этот пакет был обновлен.

Любая помощь здесь высоко ценится!

1 Ответ

0 голосов
/ 27 декабря 2018

Можете ли вы сказать мне, что именно тогда делает git merge -s recursive -X ours

Во-первых, в случае трехстороннего слияния рекурсивная стратегия является стратегией по умолчанию .
-X ours будет передаваться этой конкретной стратегии.

Как показано здесь , опция ours будет применяться только в случае конфликта:

Эта опция заставляет конфликтующие фрагменты автоматически разрешаться автоматически, предпочитая нашу версию. Изменения в другом дереве, которые не конфликтуют с нашей стороной, отражаются на результате слияния. Для двоичного файла все содержимое взято с нашей стороны.

Это не следует путать с нашей стратегией слияния, которая даже не смотрит на то, что вообще содержит другое дерево. Он отбрасывает все, что делало другое дерево, объявляя, что наша история содержит все, что в нем произошло.

...