GitHub Kullanımı

GitHub Tarihçesi

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ştiricin kod üzerinde yaptıkları değişiklikleri mail atması sonucu başladı. Günde binlerce mail alıp, bir de kod üzerinde gerekli güncellemeleri, 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ı, onun adı Git.

GitHub ise kolaydan özetlemek gerekirse, Git’in arayüzlü web versiyonu olabilir.

En detaylı şekilde, tüm yöneriyle Git anlatımına Ali Özgür’ün ilgili kitabından ulaşılabilinir: Git101.

Bu yazıda ise 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.

githubmainscreen

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’u Terminal üzerinden kullanın. Bir kere öğrenirseniz çok rahat edersiniz ve daha az hatayla karşılaşırsınız. Özellikle Mac ve Linux kullanıcılarına şiddetle tavsiyemdir.


GitHub for Mac/Windows

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.

githubdownload

 

GitHub’da Depo Oluşturmak

GitHub’da birçok şeyi hem masaüstü uygulamasından hem de web sitesi üzerinden yapabiliyorsunuz. Ancak size yazı içerisinden hangisini nerede yapmanızın daha kolay ve baş ağrısız olabileceğini belirteceğim.

 

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 Contributer (Katılımcı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).

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.

+newrepo

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.

create repo name

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çeneklerde ise, 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.

emptyrepo

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:

Not: Mac ve Windows versiyonları 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.

+clone

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.

clone

Aşağıdaki resimde benim daha önce sahip olduğum depolara olduğu için başka isimlerden göreceksiniz, sol sütunda. Fakat sizde 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.

test solda

Ancak 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 edecektir. 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:

copygithubfile

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

test in github change

 

İ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 tabi. 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örebilirler.

Share/Paylaş

7 thoughts on “GitHub Kullanımı

    1. oytuneren Post author

      Hayır, açık kaynak depolar sınırsız ücretsiz. Kapalı yapmak isterseniz 1 sınırı olması lazımdı?

      Reply
  1. Cem

    Pull Request hakkında iki soru sormak istiyorum.

    Alt ekran görüntüsünde bir kullanıcı filtre içindeki bir sorunu çözüp buna “Fix typo in Base filter” şeklinde bir açıklama girmiş. Benzer bir sorunu ben de buldum filtreler içinde ve düzenleme yapmak istiyorum. Ancak o açıklama nereye yazılıyor bilmiyorum. Bunu nasıl yapabilirim? (Pull Request açmayı biliyorum. Kalem simgesine tıkladıktan sonra değişiklikleri yapıp “Propose changes” tıklanılarak hazırlanıyor.)

    https://github.com/AdguardTeam/AdguardFilters/pull/60747

    https://i.hizliresim.com/NC5vMD.png

    Bir diğer sorum ise bir Pull Request isteği açılmış bir soruna nasıl bağlanıyor? Örneğin alt linkteki gibi. Adamın yazdığı kod 60654 sayılı sorunla alakalı.

    https://github.com/AdguardTeam/AdguardFilters/pull/60747

    https://i.hizliresim.com/0IUF51.png

    Aslında bunun cevabını alt linkte buldum ama benim açtığım Pull Request’lerde “Linked issues” seçeneği hiç yoktu.

    https://docs.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue

    Kısaca, Pull Request açık sorunlara nasıl bağlanır ve ilk sorudaki başlık nasıl yazılır? Bu konuda yardım lazım.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *