Fatih Acet

Fatih Acet

Co-f & CTO at Superpeer

twittergitlabgithubenvelope-olinkedinyoutubeinstagramAbone Ol!

Git ile bug olusturan commit'i bulmak - git bisect

Gecen hafta calisan ama bugun calismayan bir ozellige rastladiniz ve kodda saga sola baktiniz ama nerede ve nasil patladigini bulamadiniz. git bisect kullanarak hangi commit ile kirildigini cok daha kolay bir sekilde bulabilirsiniz.

git bisect iki commit id arasinda binary search yaparak kisa bir sure icinde size bir bug’in ortaya ciktigi commit id’sini veriyor.

git bisect‘i kullanmak icin oncellikle 2 commmit id’sine ihtiyacimiz var. Birincisi herseyin duzgun oldugu bir commit id’si ve ozelligimizin calismadigi commit id’si. Bu commit id’leri bulduktan sonra git bisect‘e baslayabiliriz.

Calisan commit id’si 1111 olsun.
Calismayan commit id’si 9999 olsun.

1
2
3
git bisect start
git bisect good 1111
git bisect bad 9999

Bu komutlardan sonra git’e bir aralik vermis olduk. Git bizim icin binary search ile ortalama 6-8 adimda[1] bozuk olan commit id’sini verecek. Simdi gidip sayfamizi refresh edip test edelim. Eger bug’imiz hala yerinde duruyorsa git bisect bad bug’i tekrar edemiyorsak git bisect good komutunu calistiralim. Bunu yaptiktan sonra git baska bir commit id’ye checkout ederek tekrar test etmemizi isteyecek. Ayni sekilde git bisect good git bisect bad diye devam ederek sonuncu adama kadar gelelim ve butun adimlari bitirdikten sonra git bize aradigimiz commit’i kendi elleriyle teslim edecek.

Commit’imizi bulduktan sonra bisect islemini bitirmek icin git bisect reset demeniz yeterli olacaktir.

Ufak bir not, bisect’e baslamadan once bulundugunuz branch’in aynisindan bir branch daha acip onun uzerinde yaparsaniz hata yaptiginiz yada geri donmek istediginiz anda cok daha rahat edersiniz. Bulundugunuz branch’ten yeni bir branch daha acmak icin git checkout -b yeni-branch eski branch’inize donmek icin git checkout eski-branch demeniz yeterli olur.

[1] Commit araligina gore adim sayisi degismektedir. Cok genis aralik verirseniz daha cok adim test etmek durumunda kalirsiniz.

Comments

Bolum 4: Hollanda kamp yeri gezelim! (Camping de Ruimte)

Merhaba arkadaslar Hollanda'da kaldigimiz kamp yerini gezip gostermek istedim sizlere. Gorusmek uzere.

Bolum 3: Karavan turu (Adria Altea 552PK ic mekan)

Merhaba arkadaslar Bu videoda karavanimizin icini ve disina taktigimiz cadiri anlattim. Umarim begenirsiniz. Gorusmek uzere!

Bolum 2: Karavan yerine yerlesiyoruz

Merhaba arkadaslar, Hollanda kamp yeri acisindan cok secenege sahip olan bir ulke ama bu sene buradaki 4. kamp yerimiz olan Camping de Ruimte'ye geldik ...

Bolum 1: Yeni Karavanimizi Teslim Aliyoruz

Merhaba arkadaslar, Gecen sene sahip oldugumuz Caravelair Antares 400 karavani satip Adria Altea 552PK karavan aldik. Onceki karavanimiz 590cm'yken ...

My Afternoon Coffee Routine (with Rocket Appartamento & Eureka Specialita)

Merhabalar Is guc yogunlugundan kanala icerik gonderemiyorum, bildiginiz uzere Superpeer asiri yogun Bazi gunler gercekten YouTube'a video ...

Superpeer'in kuruluş hikayesi

Superpeer'i kuralı neredeyse 1 yıl oldu. Bu süreçte iki yatırım aldık ve büyük bir ekip haline geldik. Aşağıdaki sorular çeşitli mecralardan sürekli soruluyor ve ben ...

Superpeer'in Serverless Yapisi, Cloud Functions/Cloud Run ve GCP/AWS karsilastirmasi

Merhabalar Superpeer, 2020 yilininda basinda kurdugum ve Subat ayinda 2.8 milyon dolar yatirim alan yeni girisimim. Superpeer'i Google Cloud Platform ...

JavaScript Egitimi #03: Statements

03:40 If statement 05:40 For statement 14:54 While statement 19:37 Do while statement 23:11 Object 26:55 Array 45:08 forEach 50:50 for in.

JavaScript Egitimi #02

Frontend Calisma Grubuyla beraber JavaScript egitim serisine basladik. Serinin devami gelmeye devam edecek. Bu videodaki sesle ilgili problem icin kusura ...

JavaScript Egitimi #01: JavaScript'e Giris

Frontend Calisma Grubuyla beraber JavaScript egitim serisine basladik. Bu ilk videoda JS'e giris yaptik ve yaptigimiz oturumu kayit altina aldik. Serinin devami ...

Acet Yollarda EP01: Gokay Gurcan

Selamlar Bu videoda Almere'den Amsterdam'a giderken Gokay Gurcan'la arabada yaptigimiz muhabbeti kaydettik. Spontane gerceklestirdimiz bu kayit bence ...

Hollanda'ya taşınmak, ev bulmak ve yaşam | Yurtdışında Yaşam Medium

Merhabalar arkadaslar Bu videoda Didem'le beraber Melissa Gurcan'in Yurtdisinda Yasam Medium'u icin Hollanda'da is bulmak, vize surecleri, ev kiralamak, ...

VLOG:🌷Keukenhof - Hollanda Lale Bahcesi

Merhaba arkadaslar Keukenhof Hollanda'nin Lisse sehrinde bulunan ve Mart ayinda acilip Mayis ayinda kapanan cok ozel bir lale bahcesi. Bu sene ilk defa ...

Vue Router: Alias ve Nested Route ornegi

Selam arkadaslar kodilan.com icin kodilan.com/ilan-ara?type=3 seklinde gozuken URL'leri kodilan.com/ilan-ara/stajyer seklinde de calismasi icin gereken ...

Google Tag Manager nasil kullanilir?

Bu videoda Google Tag Manager ile sayfada olan olaylarin nasil track edilecegini anlattim. Google Analytics uzerine eklenen Google Tag Manager sayesinde ...

Proje Kod İncelemesi: kodilan.com | Vue, Vuex, Vue Router

Selamlar arkadaslar Uzun bir aradan sonra yeni bir video ile tekrar YouTube'a donus yapmak istedim. Bu arada halimi hatrimi soran, neden sessiz kaldigimi ...

Tatil 2018 Drone Footage

Kas ve Kalkan'da yaptigimiz 2018 tatilimizin drone videosu. Drone: DJI Spark.

Hangi üniversite ve bölümü tercih etmeyeliyim?

Email bultenine abone olmak icin http://bit.ly/acet-subs Üniversite sınav sonuçları yakında açıklanıyor, tercih dönemi yaklaştı. Bilgem Çakır, Selman Kahya ve ...

Faydalı İpuçları #4: Mac OS Pencere Yönetimi | Better Touch Tool

Email bultenine abone olmak icin http://bit.ly/acet-subs Merhaba arkadaşlar Bu videoda Better Touch Tool kullanarak Mac OS pencere yönetimini ...

Sunum: GitLab ve GitLab Frontend'i

Email bultenine abone olmak icin http://bit.ly/acet-subs Herkese merhaba arkadaslar Software Craftsmanship Turkey'de yaptigim GitLab ve GitLab ...

Vue JS SPA'lari deploy etmek: GitLab CI DigitalOcean ve Surge.sh

Email bultenine abone olmak icin http://bit.ly/acet-subs Bu videoda daha onceden olusturdugumuz bir Vue SPA'i GitLab CI kullanarak DigitalOcean'daki bir ...

Faydalı İpuçları #3: VueJS .native event modifier nedir?

Email bultenine abone olmak icin http://bit.ly/acet-subs Selam arkadaşlar Bu videoda, kullandığımız bir child component'in DOM element'ine ait bir event'i ...

Bolum 3: GitLab Chrome Extension'i yapalim

Email bultenine abone olmak icin http://bit.ly/acet-subs Selamlar Ilk iki bolumunu beraber gelistirdigimiz Chrome eklentisine bu bolumde de devam edecegiz.

Bolum 2: GitLab Chrome Extension'i yapalim

Email bultenine abone olmak icin http://bit.ly/acet-subs Selamlar Birinci bolumune asagidaki linkten ulasabileceginiz GitLab Chrome extension'i yapmaya ...

Bolum 1: GitLab Chrome Extension'i yapalim

Email bultenine abone olmak icin http://bit.ly/acet-subs Selamlar Aniden bir canli yayina basladim fakat aklimda olan bir fikri bos vaktim varken kodlamak ...

Biraz sohbet edip AmsterdamJS Tshirt Çekilişi yapalım

Email bultenine abone olmak icin http://bit.ly/acet-subs Oncelikle biraz sohbet edip, bir kac soru cevap yaptiktan sonra AmsterdamJS'den size ozel getirdigim ...

VLOG #06: AmsterdamJS'e gidiyorum

AmsterdamJS etkinliginde VueJS Best Practices konulu bir konusma yapacagim. AmsterdamJS Vlog serisinin ilk videosunda Istanbul'dan Amsterdam'da ...

Benden haberler ve Refactor vs Rewrite konusu

Email bultenine abone olmak icin http://bit.ly/acet-subs Bu videoda en cok merak edilen konulardan biri olan Refactor ve Rewrite konusunu ele aldim.

Yazilimcilar Tasarim Bilmeli mi?

Hakan Ertan Yazilimcilar Tasarim Bilmeli mi? video serisinin 2. videosunda benim de yer almami istedi ve ayni soruyu cevaplamam icin mikrofunu bana uzatti.

Gunluk Latte’mi beraber yapalim

Her gun kahvaltidan sonra yaptigim kahvemi ufak bir video yapmak istedim. iPhone'daki iMovie'yle editledim ve oldukca kullanisli bir app olmus :)

Vuex #03/03: Vuex olmadan nasil yapariz?

Email bultenine abone olmak icin http://bit.ly/acet-subs Vuex mini serisinin son videosunda bir uygulamayi Vuex kullanmadan nasil gelistirebiliriz hakkinda bir ...

VLOG #05: Yerinde Inceleme: Amsterdam'a yaz gelmis mi?

Amsterdam'da havalarin duzeldigini ve yaz geldigini soyluyorlardi. Dun Amsterdam'a donduk ve bugun yerinde inceledik. Sonuc: daha tam gelmemis ama niyeti ...

Vuex #02/03: 15 Dakikada Vuex konseptleri

Email bultenine abone olmak icin http://bit.ly/acet-subs Bu videoda 15 dk icinde size Vuex konseptlerini kolay bir ornekle anlatmaya calistim. Bir onceki videoda ...

GitLab Workflow: VSCode extension for GitLab

This is a product demo of the VSCode extension I built for GitLab. Below you can find related links. Repository: ...

VUEX #01/03: Nedir? Neden kullaniyoruz?

Email bultenine abone olmak icin http://bit.ly/acet-subs Selamlar arkadaslar Bu video ile kanaldaki teknik videolara donus yaptim. Kanalimda daha once Vuex ...

Drone nasil ucurulmaz? DJI Spark Crash

Bugun Rembrandt Park'da talihsiz bir drone kazasi yasadim. 19mt yukseklikte ve yaklasik 40mt ilerimdeydi drone ve bu yukseklikten agaci gecer diye ...

Bilgem Cakir ile Canli Yayindayiz

Bilgem Cakir'la yazilim ve oyun gelistirme uzerine guzel bir sohbet yapacagiz. Canli yayin suresince Bilgem Cakir'a sorularinizi sorabilirsiniz.

NYC'den Fatih Arslan ve SF'dan Cihangir Savas'la beraberiz

Bundan yaklasik 2 ay once Fatih Arslan ve Cihangir Savas'la beraber bir yayin yapma fikrini konusuyorduk. Ortak takvim ayarlamanin zorlugundan dolayi 2 ay ...

VLOG #02: Amsterdam'da ev aradigim ikinci gun

16 Kasim 2017'de Amsterdam'a tasiniyoruz. O yuzden, Amsterdam'a ev bakmak amacli 3 gunluk kisa bir gezi yaptim. Amsterdam'daki ilk gunumu VLOG haline ...