#git #git-merge
#git #git-merge
Вопрос:
Я не могу понять, почему git не объединил определенный коммит, который я сделал. Рассмотрим две ветви на изображении ниже
Интересующий коммит находится в красной строке, 014506c. В этом коммите некоторые свойства конфигурации изменены, как показано ниже.
Обратите внимание на единственный файл, который был изменен. Этот файл не изменяется в 33da9d7, но когда слияние происходит в 746e986, изменений там нет. Как вы можете видеть на скриншоте ниже, файл отсутствует в списке изменений . . .
Моей первоначальной реакцией было то, что, возможно, в 834ff6a произошло изменение, которое привело к конфликту слияния, который был разрешен неправильно. Но в 834ff6a также нет никаких изменений. Смотрите ниже
Я понятия не имею, почему это могло произойти! Любое понимание этого было бы оценено.
Комментарии:
1. Почему коммит
834ff6a
должен содержать изменения, если изменения были сделаны в более позднем коммите014506c
? Почему на вас ссылаются834ff6a
? Скорее всего, у commit6eb292a
были конфликты, которые были разрешены неправильно? Потому что это слияние произошло после внесения изменений…2. Я ссылаюсь на 834ff6a, поскольку это единственный коммит после создания ветки, в котором были какие-либо изменения (которые могли привести к конфликту слияния), и, как видно, 834ff6a не имеет изменений в этом файле. Итак, по сути, синяя ветвь не вносит изменений в рассматриваемый файл, и конфликтов слияния быть не должно. По крайней мере, это то, что я понимаю.
3. Я полагаю, вы уверены, что файл имеет неверное содержимое после слияния, и дело не только в том, что 014506c отменил некоторые изменения, сделанные ранее в этой ветке? Сам вопрос, похоже, на данный момент этого не показывает.
4. Хорошо, теперь я вижу, я думаю, вы правы…
5. Если вы это сделаете
git diff 33da9d7 6eb292a
, то есть до и после слияния, будут ли изменения теми, которые вы видите в834ff6a
плюс те, которые вapplication-master.properties
? Или там есть что-нибудь еще? При нормальном поведении слияния это различие иgit diff ec0c80e 834ff6a
должно давать почти одинаковые результаты. Если они этого не делают, то при вашем слиянии определенно произошло что-то странное, но я не вижу здесь достаточно информации, чтобы сказать, что именно. Если вы попробуете объединить еще раз, получите ли вы те же результаты?