Ответ
Один из самых сложных кейсов — разрешение сложных конфликтов при мерже больших веток после долгой параллельной разработки. Например, когда две команды меняли одни и те же файлы в разных направлениях.
Пришлось:
- Анализировать изменения построчно (
git diff) - Использовать
git mergetoolс Beyond Compare для визуального сравнения - Вручную править конфликты, сохраняя логику обеих веток
- Проверять работоспособность после каждого шага
Пример:
git checkout feature/branch
git merge main --no-ff
# Решаем конфликты в Android Studio / VSCode
git add .
git commit -m "Merge main into feature/branch with conflicts resolved"
Также сложно было восстанавливать потерянные коммиты через git reflog после ошибочного reset --hard.