Git Bisect: Jak Znale藕膰 Commit, kt贸ry Wprowadzi艂 Buga

Testy s膮 zielone od trzech tygodni. Dzi艣 npm test pada na asercji, kt贸ra nie ma nic wsp贸lnego z tym, co w艂a艣nie zmieni艂e艣, a git log v1.4.0..HEAD pokazuje 340 commit贸w od czterech os贸b od ostatniego release鈥檃, o kt贸rym kto艣 by艂 pewien, 偶e dzia艂a. Przeczytanie ka偶dego diffa kosztuje ca艂y dzie艅. Losowe prze艂膮czanie si臋 mi臋dzy commitami idzie szybciej, ale wci膮偶 nie jest planem. git bisect zamienia to w wyszukiwanie binarne. Podajesz mu jeden commit, o kt贸rym wiesz, 偶e jest dobry, i jeden, o kt贸rym wiesz, 偶e jest zepsuty; narz臋dzie robi checkout commita w po艂owie drogi mi臋dzy nimi i czeka, a偶 przetestujesz w艂a艣nie ten commit i zg艂osisz wynik. Ka偶da odpowied藕 zmniejsza zakres o po艂ow臋. 340 commit贸w da si臋 rozstrzygn膮膰 w maksymalnie 9 testach, bo 2^9 = 512. ...

22 wrze艣nia 2026 路 5 min 路 1050 s艂贸w 路 SpaghettiCoder

Git Rebase vs Merge: r贸偶nice i kiedy kt贸ry wybra膰

Robisz pull najnowszego main, a Git zatrzymuje si臋 z CONFLICT (content): Merge conflict in checkout.js. Rozwi膮zujesz konflikt, a w logu pojawia si臋 commit o nazwie Merge branch 'main' into feature/checkout, le偶膮cy na trzech commitach, kt贸re faktycznie napisa艂e艣. Cztery commity, jedna prawdziwa zmiana. Kolega, kt贸ry za miesi膮c przeczyta t臋 histori臋, nie ma szans rozpozna膰, kt贸ry jest kt贸ry. git merge i git rebase odpowiadaj膮 na to samo pytanie: jak zaktualizowa膰 sw贸j branch o zmiany zrobione gdzie艣 indziej. Zostawiaj膮 za sob膮 bardzo r贸偶ne 艣lady, a wybranie z艂ego na wsp贸lnym branchu robi realn膮 szkod臋. ...

13 wrze艣nia 2026 路 7 min 路 1462 s艂贸w 路 SpaghettiCoder