Имитация конфликта в GIT

Я хочу симулировать конфликт в git при переключении брачей без коммитов.

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

Я создаю ветвь пыльника и изменяю файлы, которые также присутствуют в основной ветке.

Я до сих пор не совершил изменений в другой ветке.

Но когда я пытаюсь оформить мастер-ветку, это позволяет мне сделать то же самое.

Мне не удалось смоделировать конфликтный сценарий.

Может ли кто-нибудь дать содержимое файла и измененную версию того же файла, что может привести к конфликту.

1 ответ

Решение

Конфликты возникают при объединении изменений, которые произошли на одной базе, поэтому для создания конфликта вам нужно запустить ветку с коммита, произошедшего до последнего коммита master:

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

* branch tip
|
* master tip
|
* commit a 

Тут нечего сливать, это либо ветка, либо мастер.

Наоборот, следующее вызовет конфликт слияния, если branch а также master внесли изменения в одну и ту же часть файла, поскольку они могут быть не связаны:

* branch tip
|
| * master tip
|/
* commit a

Конфликт случится при слиянии branch в masterGit не сможет сказать, хотите ли вы принять модификацию branch или из master, или оба.

Другие вопросы по тегам