Будни разработчика
14.6K subscribers
1.18K photos
337 videos
7 files
2.02K links
Блог Lead JS-разработчика из Хельсинки
Автор: @bekharsky

По рекламе: https://telega.in/channels/htmlshit/card?r=GLOiHluU или https://yangx.top/it_adv

Чат: https://yangx.top/htmlshitchat

№5001017849, https://www.gosuslugi.ru/snet/679b74f8dad2d930d2eaa978
加入频道
#инструмент дня

Вот как ты, котан, ищешь недавний баг в проекте?

Выкатываешься куда-нибудь, тестируешь, откатываешь последний коммит, да?

А что если баг оказался хитрее, обошел тесты и уже сидит на проде, ножками качает?

Тут в дело вступает встроенный в git инструмент бинарного поиска: git bisect. Принцип прост: помечаем заведомо плохой коммит или тег (последний) и заведомо хороший (ну, за сутки до бага):

$ git bisect start
$ git bisect bad # Current is bad
$ git bisect good v2.6.13-rc2

После чего bisect выберет средний коммит из этих двух. Теперь нужно собрать проект и протестировать.

Если эта версия работает хорошо, сообщаем bisect об этом: git bisect good. Ну или bad, если нет. И продолжаем; снова случится checkout коммита посередине.

Можно искать не только баги, но и любое изменение в коде. Так что вместо меток good и bad есть ещё old и new.

Не так давно я не знал об этом инструменте и буквально повторил тот же алгоритм поиска сам. Ну, бывает.

#git #bisect #бородач
👍28
#инструмент дня

Вот как ты, котан, ищешь недавний баг в проекте?

Выкатываешься куда-нибудь, тестируешь, откатываешь последний коммит, да?

А что если баг оказался хитрее, обошел тесты и уже сидит на проде, ножками качает?

Тут в дело вступает встроенный в git инструмент бинарного поиска: git bisect. Принцип прост: помечаем заведомо плохой коммит или тег (последний) и заведомо хороший (ну, за сутки до бага):

$ git bisect start
$ git bisect bad # Current is bad
$ git bisect good v2.6.13-rc2

После чего bisect выберет средний коммит из этих двух. Теперь нужно собрать проект и протестировать.

Если эта версия работает хорошо, сообщаем bisect об этом: git bisect good. Ну или bad, если нет. И продолжаем; снова случится checkout коммита посередине.

Можно искать не только баги, но и любое изменение в коде. Так что вместо меток good и bad есть ещё old и new.

Не так давно я не знал об этом инструменте и буквально повторил тот же алгоритм поиска сам. Ну, бывает.

#git #bisect #бородач
👍13🤩32
#фишка дня

Помните, обсуждали фишку в Git — bisect? Ну, буквально, двоичный поиск косяка в коммитах: https://yangx.top/htmlshit/3061

Суть в том, что ты приближаешься к проблемному коммиту с двух сторон.

А где ещё у нас могут быть проблемы, потому что мы сделали или установили что-то не то?

Да везде, буквально.

И сегодня речь пойдёт о похожей фишке в редакторе Visual Studio Code. Спряталась она в трёхточечном меню в панели расширений.

Вот обновили вы редактор, или открыли что-то, что до этого не открывали. Или куча расширений обновились разом и началось какое-то неопределённое поведение — жамкаем на Start Extension Bisect.

Редактор отключит все расширения и перезагрузится, спросив о проблеме — видна или нет. Каждый раз вам нужно будет подтвердить её наличие, или опровергнуть. И так несколько раз.

А потом предложит отправить отчёт об ошибке, ну или просто отключить ломающее всё расширение.

Как вам идея, котаны?

#vscode #extension #bisect
👍151