Имитация конфликта в GIT
Я хочу симулировать конфликт в git при переключении брачей без коммитов.
У меня есть основная ветка, где у меня есть несколько файлов, которые фиксируются.
Я создаю ветвь пыльника и изменяю файлы, которые также присутствуют в основной ветке.
Я до сих пор не совершил изменений в другой ветке.
Но когда я пытаюсь оформить мастер-ветку, это позволяет мне сделать то же самое.
Мне не удалось смоделировать конфликтный сценарий.
Может ли кто-нибудь дать содержимое файла и измененную версию того же файла, что может привести к конфликту.
1 ответ
Конфликты возникают при объединении изменений, которые произошли на одной базе, поэтому для создания конфликта вам нужно запустить ветку с коммита, произошедшего до последнего коммита master
:
Если у вас есть следующее, вы не можете получить конфликт, потому что изменения произошли последовательно:
* branch tip
|
* master tip
|
* commit a
Тут нечего сливать, это либо ветка, либо мастер.
Наоборот, следующее вызовет конфликт слияния, если branch
а также master
внесли изменения в одну и ту же часть файла, поскольку они могут быть не связаны:
* branch tip
|
| * master tip
|/
* commit a
Конфликт случится при слиянии branch
в master
Git не сможет сказать, хотите ли вы принять модификацию branch
или из master
, или оба.