Mobil Dünya

Github ile Sürüm Kontrolü

Aslında her şey Linus Torvalds'ın Linux çekirdeğini açık kaynak haline getirmesi sonucu dünyanın dört bir tarafındaki geliştiricilerin,kod üzerinde yaptığıdeğişiklikleri e-posta olarakatması sonucu başladı. Torvalds, günde binlerce e-posta alıp, bir de kod üzerinde gerek...

Oytun Eren Şengül |

30.09.2014

Aslında her şey Linus Torvalds'ın Linux çekirdeğini açık kaynak haline getirmesi sonucu dünyanın dört bir tarafındaki geliştiricilerin, kod üzerinde yaptığı değişiklikleri e-posta olarak atması sonucu başladı. Torvalds, günde binlerce e-posta alıp, bir de kod üzerinde gerekli güncellemeler, eklemeler, çıkarmalar, değişiklikler derken hayli zorlu bir hal alan bu geliştirme sürecini yönetebilmek için muhteşem güzellikte bir araç yaptı: Git bu aracın ismi.

GitHub ise basitçe özetlemek gerekirse, Git’in arayüzlü bir web sürümü olabilir. En detaylı şekilde, Git anlatımına ise Ali Özgür'ün ilgili kitabından ulaşılabilirsiniz: Git 101.

Bu yazıdaysa sonuç odaklı ve işinizi hızlıca görebilecek kadar konuya girelim ve GitHub ile bir proje geliştirmenin, kullanım kolaylığına ve muhtemel çıkabilecek sorunlara dair anlatıma başlayalım.

 

GitHub uygulamaları (arayüzlü)

GitHub’ın masaüstü uygulaması Windows ve Mac için mevcut. Bu anlatımda da bu iki sürüm esas alınmıştır.

En baştan belirteyim; en sancısız GitHub kullanımı konsol üzerindendir. Tavsiyem, her zaman ya da mümkün oldukça GitHub'ı Terminal/Konsol üzerinden kullanın. Bir kere öğrenirseniz, çok rahat eder ve daha az hatayla karşılaşırsınız. Özellikle Mac ve Linux kullanıcılarına şiddetle tavsiyemdir.

 

Mac/Windows için Github

GitHub anasayfasına gidin ve "Sign Up" diyerek hesabınızı oluşturun. İşletim sisteminize göre "GitHub for Mac" ve "GitHub for Windows" indirme düğmelerine basarak .zip dosyasını indirebilirsiniz. Mac ve Windows için klasik yükleme adımlarını yaparak yüklemeyi tamamlayabilirsiniz.

Öncelikle işe bir depo (repository) oluşturarak başlayalım. Oluşturacağınız depolarla farklı projelerinizi yöneteceksiniz. Bir projenin genellikle bir deposu olur. Altında da her bir uygulamanın ayrı klasörleri olur. Bu yapının nasıl olacağı tamamen size bağlı olmakla birlikte yine de belli bir düzeni, klasörlerle birlikte tutturmanızı öneririm.

 

GitHub'da roller

Kendi deponuzu nasıl oluşturacağınızı anlatmadan önce, GitHub’daki rollerden bahsedelim. GitHub'da genellikle, her sistemde olduğu gibi, Admin (Yönetici) ve Contributor (Katkıcılar) vardır. Bir deponun bir yöneticisi olması, özellikle büyük bir proje değilse, yerinde olacaktır. Katılımcı sayısı ise yüzlerce, binlerce olabilir.

Deponun yöneticisi; depoyu oluşturan, kuralları belirleyen, tüm değişiklikleri gözlemleyen ve son karar verendir. Katılımcılar ise; tüm kod üzerine, aksi yönetici tarafından belirlenmedikçe, katkıda bulunabilirler. Bu katkılarını istekler halinde gönderirler (Detaylarına aşağıda değinilecektir).

 

GitHub'da depo oluşturmak

Eğer depo oluşturacaksanız, en basit yol web tarafında oluşturmaktır.

Github.com'a gidin ve hesabınızla giriş yapın. Kendi sayfanız doğal olarak boş gelecektir, henüz hiçbir depo oluşturmadıysanız ya da başka projelere katkıda bulunmadıysanız. Tek yapmanız gereken sağ üstte bulunan artı (+) düğmesine basmak ve ardından "New repository" bağlantısına tıklamak.

Ardından açılan ekranda, deponuzun adını girin ve mümkünse bir de açıklamasını altına not düşün. Eğer kodlarınızı açık kaynak tutacaksanız "Public" seçeneğini, gizli kalmasını istiyorsanız da "Private" seçeneğini işaretleyin.

Açık kaynak olarak sınırsız sayıda depo yaratabilir ve istediğiniz kadar uygulama yayımlayabilirsiniz. Gizli olaraksa sadece 1 tane hakkınız var fakat öğrenci tarifesi ve diğer paket ücretleri de burada mevcut.

Burada en önemli noktalardan biri, GitHub her deponun ve uygulamanın README dosyasının olmasını çok istiyor. Bu yüzden "initialize this repository with a readme" seçeneğini kesinlikle işaretleyin, sonra içeriğini dolduracağız. Onların hemen altında yer alan seçeneklerdeyse, neyle ilgili kodlama yaptığınızı (genellikle kodunuzu yüklediğinizde GitHub zaten otomatik olarak algılayacaktır) ve varsa yayımlamak istediğiniz lisans modelini seçebilirsiniz.

Sonra karşınıza boş bir depo gelecektir. Ben test adlı bir depo oluşturdum örnek olarak.

Burada yine bazı boş kısımlara isterseniz gerekli bilgileri yazabilirsiniz, website vb.

Şimdi masaüstü uygulamasına geri dönüyoruz. GitHub for Mac ya da Windows’u açalım:

Mac ve Windows sürümleri arasında görseller arasında farklar mevcut fakat işlev setleri aynıdır.

Uygulamanın sol üst köşesinde yer alan artı (+) düğmesine bastığımızda bize "Create" sekmesiyle yeni bir depo oluşturmayı ya da "Clone" sekmesiyle mevcut bir depoyu klonlamamızı teklif edecek. Eğer bir depoya katkıda bulunacaksak ya da yönetici olarak ilk kez masaüstü uygulamasından yöneteceksek, o depoyu bir kez klonlamamız gerekmektedir. "Clone" sekmesine bastığımızda, daha önce oluşturduğumuz "test" adlı depomuzu göreceğiz. Onu seçerek altta yer alan "Clone Repository" düğmesine tıklıyoruz.

OS X üzerinde veya Windows Explorer içerisinde nereye klonlamamızı istediğimizi soracak. Benim tavsiyem, bilgisayarınızda GitHub adında bir klasör oluşturmanız ve onu seçmeniz. Sonra "Clone" düğmesine basarak ilgili depoyu bilgisayarınıza ve tabii ki aynı anda masaüstü GitHub uygulamanıza klonlamış olun.

Aşağıdaki resimde benim daha önce sahip olduğum depolara olduğu için başka isimlerden göreceksiniz, sol sütunda. Yeni bir depo eklediğinizde, aşağıdaki resimde olduğu gibi "test" adlı deponuz GitHub klasörünün altında oluşturulacaktır.

Kontrol etmeniz gereken en önemli şey; Finder’ı veya Windows Explorer'ı açın ve oluşturduğunuz GitHub klasörünün içine bakın. "test" adlı bir klasör varsa, işlem tamamdır. İçerisinde readme dosyası olması normaldir, web tarafında oluştururken bu seçeneği işaretlemiştik. Herşey yolunda demektir.

Buraya kadar herhangi bir hata almanız çok zor bir ihtimal. Umarım işler yolunda gitmiştir.

Bundan sonra işler aşırı kolay devam edecek. Elinizde kaynak kodları hazır bir uygulamanız varsa, bilgisayarınızda nerede olursa olsun, tek yapmanız gereken ilgili klasörü buraya kopyalamak. Örneğin, masaüstündeki Webview uygulamamı sürükle bırakla GitHub klasörünün altında “test” klasörüne kopyalıyorum:

Herhangi bir dosyayı ya da klasörü ilgili depoya kopyaladığınız anda, GitHub uygulamasında bu değişiklikler belirecektir:

İlk kez bir dosya attığımız için hepsi "New" şeklinde gösteriliyor. Bu aşamadan sonra tek yapmanız gereken yaptığınız değişikliğin "Summary" özetini yazmanız ve "Commit & Sync" etmenizdir.

Eğer yaptığınız değişikliğin aynı zamanda senkronize etmesini, ilgili depoda, istemiyorsanız, sadece "Commit" seçeneğiyle gönderin. Üstteki sekmelerden "History" adı üstünde, ilgili dosyalarda yapılmış değişiklikleri, kimlerin hangi saatlerde ve hangi satırlara yapmış olduğunu gösterir ve deponun yöneticisi tarafından da herhangi bir hata da geriye alınabilir.

Uygulamanın sağ üst köşesinde yer alan sync düğmesi, adı üstünde deponuzdaki son gelişmeleri senkronize eder.

Yönetici olarak bundan sonra yapmanız gereken tek şey, varsa uygulamanızı an be an güncel tutmak ve sürekli GitHub'a senkronize etmek. İsterseniz, artık kaynak kodlarınızı kopyaladığınız GitHub klasörünün altında da çalışabilirsiniz. GitHub uygulaması tüm değişiklikleri bilgisayarınızdaki bu klasörün içinden okur ve uygulamasını da size sunar. Projenizi ilgili klasör altında çalıştırdıktan sonra kaydeder (Save) ve sonrasında GitHub uygulamasını açarak "Commit" edebilirsiniz. Böylece depoda güncellenir ve herkes bu güncellemeyi anında görebilir.

Oytun Eren Şengül |

30.09.2014

Yorumlar

Burak Benli
02.10.2014 - 02:09

Güzel bir yazı olmuş.Tebrikler

Kamil Kalkan
09.10.2014 - 09:29

Güzel ve detaylı bir anlatım olmuş. Teşekkürler

Caner Güral
09.10.2014 - 12:42

iOS geliştiren arkadaşların seveceği şöyle bir eğitim içeriğimiz de var: Xcode için Github.

Teşekkürler Oytun.