Я профессионально пользуюсь гитом лет 8, использую несколько команд типа коммит, пуш, пул, ребейз, мердж. Причем часть команд использую из консоли с вимом (rebase --onto, rebase -i, reflog, когда несколько команд надо цепочкой запустить), часть из IDEA (3-х сторонний мердж великолепен, бранчи, простые коммиты и пуши норм, а дерево отвратительно сделано, недавно добавили частичные мерджи – тоже удобно и пользуюсь), часть из SourceTree (все что связано с просмотром дерева, простыми ребейзами или частичными коммитами). Почему-то нет одного инструмента в котором все сделано удобно. В кишки приходилось лезть в ооооочень редких случаях когда все напрочь поломалось и хочется починить без тупого клонирования репозитория с нуля потому что он весит несколько гигов.
Предметная область в кишках очень простая на самом деле, буквально объекты и ссылки на них, все остальное накручено поверх. При этом можно зайти в папку .git и в обычном текстовом редакторе все увидеть. В этом настольно нет никакой магии что даже удивительно. Для понимания достаточно одной главы
https://git-scm.com/book/ru/v2/Git-%D0%B8%D0%B7%D0%BD%D1%83%D1%82%D1%80%D0%B8-%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D1%8B-Git. Но при этом ни разу вообще не приходилось опускаться на этот уровень. Самое низкоуровневое, что приходилось делать – это восстанавливать удаленную ветку из рефлога.