---
description: Вирішення конфліктів злиття
---

# Merge conflict

При merge з іншої гілки можемо отримати:

```
Auto-merging public_html/calibr/calibr_addt_251.htm
Auto-merging public_html/calibr/calibr_addt_252.htm
Auto-merging public_html/calibr/calibr_getdata.py
CONFLICT (content): Merge conflict in public_html/calibr/calibr_getdata.py
Auto-merging public_html/calibr/calibr_savedata_252.py
Automatic merge failed; fix conflicts and then commit the result.
```

Це означає, що деякі файли були злиті успішно, а деякі, як _**public\_html/calibr/calibr\_getdata.py**_ - ні.

Відкриваємо цей файл і шукаємо позначку `<<<<<<<` - за якою йде код, поточної гілки.

Позначка `=======` - це кінець коду поточної гілки, після якої йде пропонуємий для злиття код, який git не зміг злити з поточним автоматично.

Позначка `>>>>>>> test` завершує пропонуємий код, де 'test' - це назва гілки з якою ми зливаємося:

```python
<<<<<<< HEAD
if not re.fullmatch('[-A-Z_\d]{2,12}', prm[SERIAL]):
	send_response( 102, **{
		'mess'  : f'{tr("ERR_INCORRECT_INPUT")}: {tr("TX_SERIAL")} = {prm[SERIAL]}',
		'val'   : prm[SERIAL],
		'name'  : SERIAL,
	})
=======
if not re.fullmatch('[-A-Z_\d]{2,12}', serial):
	err = 1
	err_txt = f'{err}: {FORM_SERIAL} | {serial}'
	err_list.append(err_txt)
	log.error(err_txt)
>>>>>>> test
```

Необхідно вибрати, або віредагувати один з варіантів на потрібний нам код, видалити позначки, зберегти, і...

```
git add public_html/calibr/calibr_getdata.py
git commit -m "Resolve merge conflict in calibr_getdata.py"
```

[https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line)
