прочитал тот пост про git-трюки. норм подборка, но половину там я в проде не видел ни разу. решил написать про то, что реально спасает меня почти каждый день, а не раз в полгода.
это мой стандартный алиас. когда в репозитории 20+ веток и мержи со всех сторон - плоский список коммитов бесполезен. граф показывает кто от кого ответвился и где конфликт. добавил в ~/.gitconfig:
[alias]
tree = log --graph --oneline --decorate --all
и теперь просто git tree. без этой штуки я бы утонул в истории на проекте с 15 разработчиками.
была ситуация: продакшен упал, а коммит с багом - 3 дня назад, и никто не знает какой. git bisect за 5 шагов нашёл тот самый коммит. я просто сказал "этот плохой" на первом и последнем, а он сам методом деления пополам перебрал 200+ коммитов. без него я бы руками пересматривал полдня.
git bisect startgit bisect good/badвсе знают git stash, но мало кто юзает git stash push -m "wip: фикс бага в модуле X". когда у тебя 5 отложенных изменений - без описания не вспомнишь что там. я всегда добавляю -m, иначе потом голову ломаешь.
если случайно закоммитил не то - git reset --soft откатывает коммит, но оставляет файлы в стейдже. то есть ты просто делаешь новый коммит с правильным сообщением. без потери данных. у нас в проде так было, когда девопс случайно в master запушил ключи - reset + force push спасли ситуацию.
из пятерки в том посте я реально юзаю только git bisect. остальные - красивые, но для галочки. лучше знать 2-3 команды, которые вытащат из жопы, чем 5, которые забываешь через неделю.
мой совет: настрой алиасы под себя и не пытайся запомнить всё. git - это инструмент, а не экзамен.
Комментариев пока нет