Мастер слился в филиал и разрешил конфликты, но все еще получал конфликт слияния в битбакете PR? - PullRequest
0 голосов
/ 02 января 2019

Я пытаюсь слить свою ветку в master, но я продолжаю получать конфликты слияния в bitbucket.Обычно я просто извлекаю любые обновления из master и объединяю их с моей веткой, разрешаю конфликты и загружаю обратно в bitbucket, но по какой-то причине это не сработало на этот раз.Я попытался объединить мастера в свою ветку и разрешить конфликт несколько раз, но не повезло.Я даже пытался скопировать файл с мастера и затем добавить обратно в свои изменения, но Bitbucket продолжает показывать конфликты ни с чем, либо со строками, которых я не трогал.

в одном файле, с которым у меня конфликтодин из моих импортов

<<<<<<<
=======
import someFile;
>>>>>>>

в другом файле, у меня конфликт с моей зависимостью

<<<<<<<
=======
<dependency>
    someDependency
</dependency>

, а в третьем файле у меня конфликт с некоторыми строками кода, которые у меня естьне тронут, но это то же самое, что в master

<<<<<<<                               
                         </connection>
    </channel>
=======                                   
                         </connection>
    </channel>
>>>>>>>

Первые два выглядят как конфликт слияния ни с чем?Я чувствую, что единственный способ решить эту проблему - это начать заново с чистой ветки, есть ли способ решить эту проблему без необходимости делать это?

update: Git все еще былвызывая у меня проблемы даже после двойной проверки моего кода, поэтому, если у кого-то есть эта проблема, вот что я сделал, чтобы решить ее.Я сделал git merge master и вместо того, чтобы разрешить конфликты, я просто принял входящие изменения от мастера, затем зафиксировал и отправил (без моего кода).Я снова скопировал свои изменения, зафиксировал их, затем снова отправил, и теперь все конфликты разрешены (хотя код вообще не изменился).Это похоже на начало заново, за исключением того, что мне не нужно было повторно добавлять все файлы, у которых не было конфликтов слияния.

1 Ответ

0 голосов
/ 02 января 2019

Это обычная работа для каждого разработчика.По сути, git работает так, что если конфликтующие файлы имеют разные заголовки, он показывает конфликты слияния, что означает, что если в одни и те же файлы вносятся изменения, которые не могут быть автоматически объединены, то он показывает конфликт.Вы можете сделать следующее: -

1) Объединить мастер с вашей веткой, используя

git merge master

Теперь вам нужно открыть конфликтующий файл и отредактировать его вручную.

2) Используйте такие инструменты, как дерево исходников, git черепахи и т. Д. Они дают вам хороший вид рядом, чтобы исправить ваши конфликты и содержат встроенный редактор.Они также дают вам возможность выталкивать изменения из инструмента.

3) Создайте новую ветку и повторите изменения.Мне никогда не приходилось делать это, потому что все обычно решается с помощью 1-го или 2-го подхода.

PS: Существует вероятность того, что ваш редактор кода добавляет некоторое форматирование, поскольку вы упомянули, что вы не касались файлов.Поэтому, пожалуйста, попробуйте другой редактор один раз.

Надеюсь, это поможет !!

...