Как решаешь конфликтные ситуации

«Как решаешь конфликтные ситуации» — вопрос из категории Софт-скиллы, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Конфликты в коде решаю через git rebase или git merge, в зависимости от ситуации.

Пример:

// Конфликт в файле main.go
<<<<<<< HEAD
func main() {
    fmt.Println("New feature")
}
=======
func main() {
    fmt.Println("Bugfix")
}
>>>>>>> bugfix-branch
  1. Анализирую изменения с обеих веток.
  2. Вручную редактирую файл, оставляя нужный код:
func main() {
    fmt.Println("New feature + bugfix")
}
  1. Добавляю исправления (git add) и завершаю мерж/ребейз.

В командных конфликтах предпочитаю диалог: обсуждаю проблему, ищем компромисс или лучший вариант.