Android Studio’da Git Kullanımı

Kuşkusuz yazılım geliştiriciler için önemli bir yere sahip olan versiyon kontrol sistemi(VCS) olan Git, terminal üzerinden çalışabilen komutları sayesinde işlemleri yürütebilir. Github, Gitlab, Bitbucket gibi sistemler ise git üzerinde çalıştığınız kodları uzak sunucuda tutabileceğiniz depolardır.

Terminal üzerinde çalışmayı sevmeyenler için Github Desktop, SourceTree gibi programlar görsel arayüz ile git işlemlerinizi yapabilmenizi sağlamaktadır.

Geliştirici olarak herhangi bir IDE’ye bağımlı kod yazıyorsanız bu tarz programlar veya terminal ile IDE arası geçiş yapmak dikkatinizi dağıtabileceğinden IDE içerisine git ile yapabileceğiniz işlemlerin büyük çoğunluğu entegre edilmiştir. Bu yazıda Android Studio ile Git kullanımına değineceğim.

Git komutlarına çok aşina değilseniz öncelikle bunları öğrenmenizde fayda var. Çünkü bütün işlemler arayüz üzerinden gerçekleşmeyebiliyor sıkıştığınızda terminal ekranını açıp oradan işlemlerinizi yapabilmeniz için komutların işlevlerini bilmeniz gerekiyor. Alttaki kaynaklardan bu kısımda eksiğiniz varsa giderebilirsiniz.

Yeni bir proje oluşturuyoruz. Sonrasında VCS -> Enable Version Control Integration sonrasında çıkan pencerede Git seçiyoruz.

Sonrasında tüm dosyaların kırmızı renk aldığını göreceksiniz. Bunun anlamı bu dosyaların henüz gite eklenmemiş olmalarıdır. Siz herhangi bir dosyanın üzerine sağ tıklayıp Git -> Add yaparsanız o dosyanın yeşil renk aldığını göreceksiniz. Arka planda aslında

komutu işlemektedir.

 

Git üzerinde çalışmak istediğiniz dosyaları ekledikten sonra VCS -> Commit Changes tıklayarak çıkacak pencerede commit işlemini gerçekleştirebilirsiniz.

  • Üstte eklediğiniz(yeşil renkte), değiştirdiğiniz(mavi renkte),sildiğiniz(gri renkte) ve versiyonlamaya dahil edilmeyen(kırmızı renkte) dosyaları görebilirsiniz.
  • Alt kısımda yaptığınız değişiklikleri görebilirsiniz. Aynı zamanda dosya üzerine çift tıklayarak kodların tümünü daha büyük bir pencerede inceleyebilirsiniz.
  • Sağ tarafta bulunan Before Commit kısmında kodlarınızın commit edilmeden önce formatlanması, varsa TODO ların review edilmesi, gönderilen kodlarda hata olup olmaması gibi kontroller yapılabilir.

Artık yerelde bir git depomuz var. Ancak kodları uzak sunucuya göndermemiz gerekiyor. Bunun için önce Github sonra Gitlab kullanarak kodların nasıl bu platformlara push edildiğini göstermek istiyorum.

Github Entegrasyonu

Android Studio içerisinde kodları Github push edebilmek oldukça basit.

VCS -> Import into Version Control -> Share project on Github

tıklayın. Sizden Github kullanıcı adı ve şifrenizi aldıktan sonra proje ismi ve açıklamanızı isteyecek. Sonrasında Share butonuna tıkladığınızda kodlarınız artık Github’da.

Gitlab, Bitbucket vs. entegrasyonu

Gitlab, Bitbucket ya da daha farklı bir platform üzerine kodları push etmek için uygulayacağımız adımlar biraz farklılık gösterecek. Bu kısımda Gitlab üzerinden göstereceğim. Diğer sistemler üzerinden de aynı adımları takip ederek kodlarınızı push edebilirsiniz.

Öncelikle Gitlab üzerinden yeni bir repository oluşturuyoruz ve üst kısımdaki HTTPS linkini kopyalıyoruz.

 

VCS -> Git -> Push tıklayarak remote server ayarlarını yapabileceğiniz ekran karşınıza geliyor ve buradan Define Remote üzerine tıkladığınızda repository url girebileceğiniz bir pencere ekrana geliyor. Gitlab üzerinden aldığınız linki URL kısmına yapıştırıyoruz ve OK butonuna tıkladıktan sonra URL doğruluğu kontrol ediliyor.

 

Kontrol işleminden sonra artık Gitlab üzerine kodlarınızı push edebilirsiniz.

 

Branch oluşturma

Android Studio üzerinde branch oluşturma işlemide oldukça kolay.

VCS -> Git -> Branches tıkladıktan sonra size ufak bir pencere üzerinde var olan branchleri ve yeni branch ekleme kısmını gösterecektir.

Buradan New Branch diyerek yeni bir branch oluşturabilir ya da diğer branchlere geçiş işleminizi gerçekleştirebilirsiniz.

 

Merge ve Conflict

Takım arkadaşlarınızla birlikte bir proje geliştirdiğinizde onların ve sizin yaptığınız değişiklikler aynı repository üzerinde bulunması gerekmekte. Bunun için kodların merge edilmesi ve aynı dosya üzerinde farklı değişiklikler yapılmışsa ortaya çıkan conflictlerin giderilmesi gerekmektedir.

Şimdi şöyle bir senaryo düşünün siz ve takım arkadaşınız aynı dosya üzerinde mesela MainActivity üzerinde değişiklik yaptınız. O sizden önce commitleyip push etti sizde sonrasında commit, push yapmak istediğinizde hata ile karşılaşacaksınız. Bunun için önce VCS -> Git -> Pull yapıp uzaktaki kodların son halini yerel deponuza indermelisiniz. Aynı dosya üzerinde çalıştığınız için conflict meydana gelecek ve alttaki gibi çakışan dosyalar listelenecektir.

 

 

Dosyaya çift tıkladığınızda sol tarafta sizin yaptığınız değişiklikler, sağda takım arkadaşınızın yazdığı kısımlar, ortada ise bir orta yol bulunup kimin kodlarının geçerli olacağına karar verilebilecek kısımlar yer almaktadır.

 

 

Umarım faydalı olmuştur. Başka bir yazıda görüşmek üzere…

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.