#Git-1: Yanlış branch, doğru commit
Selamlar,
Git için, geliştirme sürecinde karşımıza çıkabilecek hatalarla alakalı yaşanmış hikayeleri baz alıyor, bu hataları senaryolaştırıyor ve çözümleriyle sizlere aktarıyorum.
Ortalama bir şirkette geliştirici olduğunuzu varsayalım. Ürün geliştirmeciler tarafından bir özellik sizlere iletildi ve bununla alakalı branch açıldı.
Siz, size atanan TASK-XX branch’nde yeni özellik için çalışmaya başladınız. Bu branch özelinde istenilenleri uygulamanıza eklediniz.
Takım arkadaşınız master’a yeni güncellemeler gönderdi ve siz de geri kalmamak adına branch’i master’a pull almak zorunda kaldınız.
Dikkatiniz dağıldı ve yanlışlıkla TASK-XX için hazırladığınız kodları master’a gönderdiniz.
Kodlarınız iletildi ve uygulama yeni kodlara göre build alındı. Yayına çıkıldı, ve bu süreç isteminiz dışında tamamlandı.
Bu süreçte yapmanız gerekenler:
- Yanlış gönderilmiş kodu master’dan kaldırmak (revert) ve master’da güncellediğiniz kodları TASK-XX’e taşımak.
1. Adım: Uygulamayı eski major haline döndür
Bu adımda eski major versiyonu bulabilmemiz için merge edilmiş pr’lara bakmamız gerekiyor.
En son merge edilmiş pr bizim için mantıken son major versiyonumuz oluyor. Bu listeyi görüntülemek adına git log --oneline
komutunu kullanabiliriz.
Bu durumda dikkatlice yapmamız gereken tek işlem kalıyor. major versiyondan sonra eklenmiş olan commitleri saymak.
Örneklemem gerekirse, dört commit TASK-XX’e gitmesi gerekirken master’a iletildiğinde sizler git reset --hard HEAD~4
komutunu kullanıp repository’i dört commit geriye çekmiş olursunuz.
Bu commitler master’da hiç varolmayacağı için git push origin master --force
komutu aracılığıyla master branchini eski haline getirip eklenmiş olan tüm commitleri yok etmiş oluyoruz.
2. Adım: TASK-XXX’e kendine ait kodları yükleyelim
Güncel kaynak kodumuzun bir kopyasını almıştık. Bu kopyayı direkt olarak TASK-XX’e kopyalarsak eğer tüm dosya değişikliklerimiz geriye gelecektir.
Bu değişiklikleri istediğiniz gibi commit’leyerek aslında olması gereken yapıya tekrardan kavuşmuş oluruz.
Yeni bir tarz
Yazılarımda yeni bir tarz denemekteyim, daha çok tecrübelerimi aktardığım eğlenceli ve bol acemilik içeren yazılarla sizlerle olacağım.
Olumlu, olumsuz görüşleriniz için enes.bayraktar@outlook.com.tr adresinden bana ulaşabilirsiniz.