Учитывая, что я просто потерял день, пытаясь выяснить это, и на самом деле нашел решение с помощью коллеги, я подумал, что мне следует вмешаться.
У нас большая база кода, и мы должныиметь дело с 2 ветками, которые сильно изменяются одновременно.Существует основная ветвь и вторичная ветвь, если вы, что.
Пока я объединяю вторичную ветвь с основной ветвью, работа продолжается в основной ветке, и к тому времени, как я это сделаю, я не могу нажатьмои изменения, потому что они несовместимы.
Поэтому мне нужно «перебазировать» мое «слияние».
Вот как мы наконец сделали это:
1) запишитеША.Пример: c4a924d458ea0629c0d694f1b9e9576a3ecf506b
git log -1
2) Создайте правильную историю, но это нарушит объединение.
git rebase -s ours --preserve-merges origin/master
3) запишите SHA.пример: 29dd8101d78
git log -1
4) Теперь сбросьте на прежнее место
git reset c4a924d458ea0629c0d694f1b9e9576a3ecf506b --hard
5) Теперь добавьте текущий мастер в свою рабочую ветку
git merge origin/master
git mergetool
git commit -m"correct files
6) Теперь, когда у вас есть правильные файлы, но неправильная история, добавьте правильную историю поверх ваших изменений с помощью:
git reset 29dd8101d78 --soft
7) А затем - измените результаты в исходном коммите слияния
git commit --amend
Вуаля!