Blog » Teknoloji » Github Nedir? Nasıl Kullanılır?
Nedir, Nasıl Yapılır? Teknoloji

Github Nedir? Nasıl Kullanılır?

Hosting Fiyatları

Eskiden yazılım ve teknolojinin büyük kısmı kişisel bazı çabalar ve üniversitede ortak hedefe sahip grupların birlikte çalışmasıyla oluşturulmaktaydı. Apple, Facebook gibi markaların ortaya çıkıp gelişmesi benzer şekillerde bireysel çabalarla olmuştu. Ancak günümüzde bireyselliğin dışında ortak çalışma grupları oluşturma yöntemi daha yaygın bir şekilde kullanılmaktadır.

Github Nedir?

Github, dünyanın farklı yerlerinden geliştirici, programcıların bir araya gelerek yazılım, framework ve kodlarını paylaşıp ortak çalışma projeleri oluşturabildiği, ya da kendilerine ait projelerin GitHub bulut sisteminde kaydedilerek çeşitli araçlarla kolayca tekrar ulaşılmasının sağlandığı, milyonlarca kullanıcısı olan web tabanlı bir platformdur.

Github Nedir?
GitHub Ana Sayfası

Projelerinizi Github üzerinde herkese açık veya kapalı şekilde oluşturabilirsiniz.  Ayrıca Windows ve MacOS işletim sistemlerinde kullanılabilen masaüstü uygulaması ile de projelerinizi takip edebilirsiniz.

GitHub platformu, ayrıca geliştirici firmalara da birçok kolaylıklar sağlamakta. GitHub’ın bulut sisteminde kaydedilmiş olan bir proje uzaktan çok sayıda kişi tarafından geliştirilebiliyor. Projeye kimin hangi saatte eriştiği, nerede değişiklik yaptığı net olarak görülebiliyor.

GitHub resmi tanıtım videosu

Aynı zamanda yetkilendirme dereceleri ile herkesin ulaşabileceği ve düzenleyebileceği kod alanı ayrıştırılabiliyor. Oluşturulan bu dallanmalar daha sonra birleştirilerek bir bütün haline getirilebiliyor. Bu yöntemle farklı yerlerden aynı proje üzerinde çalışma imkanı sunması daha hızlı sonuç almaya yardımcı olmaktadır.  

Günümüz teknolojileri ve bilgi paylaşımının eskiye nazaran daha yoğun bir şekilde yapılması yazılım sektöründe daha hızlı gelişme yaşanmasına ön ayak oldu. Dünyanın herhangi bir yerinden farklı insanların aynı projeyi ele alarak işbirliği ile (collaboration) geliştirmeye çalışması çok sık uygulanan bir yöntem haline geldi.

GitHub sisteminde bir projeye kod yazarak katkıda bulunabileceğiniz gibi sponsor da olabiliyorsunuz. Yatırım amaçlı yapılabilen bu yöntem projenin başarısına bağlı olarak size getiri sağlayabiliyor. Ancak şimdilik Türkiye bu kapsamın dışında, Dünya üzerinde 30 farklı bölgeden bu sistem sayesinde sponsorluk uygulanabiliyor.

Github gibi sistemler sayesinde bilim, yazılım, sanayi, teknoloji gibi birçok alanda daha çok açık kaynak koda sahip proje hayata geçirilmeye başlandı. Bilgi paylaştıkça daha da artıyor.

GitHub Nasıl Kullanılır?

Öncelikle kullanışlı bir ara yüze sahip olan GitHub’a bir kullanıcı adı ve e-mail ile üye olmanız gerekiyor. Bu adresten ana sayfaya giderek kendinize bir kullanıcı adı oluşturun. Eğer projelerinizi GitHub’ta açık bir şekilde tutarsanız sistemi kullanmak ücretsizdir. Private (gizli) projeler için ise ücretli bir plan oluşturmak mümkün.

GitHub fiyatları

Sisteme ilk defa giriyorsanız github-learning-lab denen bir eğitim aracına yönlendiriliyorsunuz ve burada bir bot yardımıyla sistemin nasıl çalıştığını adım adım öğrenebiliyorsunuz. Bu alandan devam edebilirsiniz ancak biz buradan da bilgi vermeye devam edeceğiz.

GitHub ta bir şey saklamak için kendinize bir depo oluşturmanız gerek. Kendi kullanıcı adınıza tanımlı olan bu alana projelerinizi yükleyebilirsiniz.

GitHub Üzerinde Yeni Repo (Repository) Oluşturmak

GitHub’ta bir proje oluşturmak çok basittir. Yeni bir repository oluşturmak çok kolaydır. Ana sayfada profilinize gelerek “Repositories” sekmesine gelerek sağ üstte “New” butonuna basmalısınız. Yeni açılan sayfada sizin kullanıcı adınızın altında bir dizin şeklinde oluşacak bir “Repository” eklemeniz gerekiyor.

Yeni Repository sekmesi
Nasıl yeni repository oluşturulur?

Oluşturduğunuz bu çalışma alanınıza bir URL tanımlayacaktır. Bu URL adresine Git terminali üzerinden ulaşarak dizinden dosyaları alabilir veya değiştirebilirsiniz.

Ana dosya Main olarak ifade edilir, sonra bu ana dizinden Branch (Şube) veya başka bir deyişle dal oluşturarak tekrar birleştirebilirsiniz. 

Program geliştiricisi ve farklı programlama dillerinde kod yazarı iseniz burada depoladığınız koda istediğiniz an ve istediğiniz yerden ulaşabilir ve oluşturduğunuz versiyonlarla çalışmanızı takip edebilirsiniz. Farklı programlarla entegrasyonu olmakla birlikte Git uygulaması ile kod yükleyebilirsiniz.   

 Ayrıca bir sosyal medya platformu gibi trendler en çok yıldız alan projeleri görebilir ve kaynak kodlarına erişebilirsiniz. Bu kodları kendi bilgisayarınıza indirebilir, ya da GitHub hesabınızda depo edebilir ve üzerinde çalışabilirsiniz. 

 GitHub kullanabilmek için GitHub mecrasının sık kullanılan terimlerine de hakim olmalısınız. Şimdi size birkaç GitHub terimi ve anlamları hakkında bilgi verelim.

Sık Kullanılan GitHub Terimleri

Git

Git, bilgisayarınıza yüklenen bir programdır. Windows, MacOs ve Linux sistemlerinde çalışır. Git terminali ile GitHub ve benzeri depo sistemlerine belirli komutlar kullanarak dosya yüklemek, bilgisayarınızda bir çalışma alanı oluşturmak ve bu projeyi GitHub kullanıcı adınıza bağlı bir dizine yüklemek gibi basit veya çok daha komplike işlemler yapılabilir.

Git indirme sayfası

Ayrıca Git, birçok programcının oluşturduğu bazı kullanışlı araçların sisteminize yüklenmesi için kullanılabilir. Python kütüphaneleri ve bazı framework’ ler Git terminaline yazacağınız bazı komutlarla yüklenebilir. 

Git yüklenince bilgisayarınıza yüklenen terminali haricinde daha başka kullanabileceğiniz birçok başka ara yüz mevcut, bunlara GUI denmekte. Buradan inceleyip kendinize ve işletim sisteminize uygun bir GUI seçebilirsiniz.

Repository

GitHub kullanıcı adınızın altında açacağınız bir dosya dizini ve depodur. İstediğiniz bir isimle adlandırıp projenizi bu depoda kaydedebilirsiniz. Gizli veya diğer kullanıcılara açık repo oluşturabilirsiniz.

Branch

Projeyi bir doğru şeklinde düşünelim, ana gövde oluşturduktan sonra, çalışmanın herhangi bir yerinde bir branch (dal, şube) oluşturabilir ve çalışmanızın o noktadan sonraki kısmını siz veya başkasının o branch üzerinden yürütmesini sağlayabilirsiniz.

GitHub Branch ve Master İlişkisi

Dal açtığınızda projenize ait bir kayıt oluşturulur ve o kopya yeni dal (branch) üzerinden devam eder. Sonrasında bu açılan bir veya daha fazla dal tekrar ana gövdeye bağlanarak bütünleşebilir.

Origin

Çalışmanın ana dalı Origin ( kaynak) olarak ifade edilir. Aktif olan bir branch da origin olabilir.  İlk oluşturulan Branch, Master olarak ifade edilir, Origin de genelde ilk oluşturulan Branch’tır.

Fork

Başkasının oluşturduğu bir “Repository” yi, yani projeyi kendi hesabınıza kopyalamak çekmektir. Başkasının projesini alıp üzerinde çalışarak kendini istediğiniz hale getirebilirsiniz. Açık kaynak kodlu sistemlerde programa ekleyeceğiniz kodlar ile sizin kabiliyetlerinize bağlı olarak çok farklı özellikler kazandırılabilir.

Clone

Clone GitHub bulut sisteminde bulunan belirli bir program veya kod dizisini kopyalayıp, bilgisayarınıza veya hesabınıza indirmeye yarar.

Commit

GitHub üzerinden çalışma dosyalarınızı aldınız ve üzerinde çalışmaya başladınız. Projeye eklediğiniz bu yeni kodları da içeren çalışmanın GitHub’ taki kopyasına da iletilmesi için öncelikle “Commit” işlemini gerçekleştirmeniz gerek. Bu işlev çalışmanızın GitHub bulut sistemine gönderilmek üzere paketlenmesini sağlar.

Ignore  

Commit işlemi yaparken çalıştığınız bazı dosyaların paketlenip gönderilmesini istemeyebilirsiniz. Özetle pakete dahil olması istenmeyen dosyalar, ignore edilerek git tarafından göz ardı edilmesi sağlanır.

Push

Commit işlemiyle paketlenen yeni çalışmanın GitHub sunucusuna Push edilmesi ( İtilmesi) yani gönderilmesi işlemini ifade eder.

Pull

Başkalarınca yapılan değişikliklerin kendi bilgisayarınız veya sunucudaki ana dosya versiyonuna dahil etmek (çekmek) işlemidir.

Issues

Türkçesi durum olarak adlandırılabilen issues kelimesi ile bir durum, sorun veya gelişme ile ilgili bilgilendirme açmak denebilir. Projeye dahil olanlar issues açıldığı zaman isterse konuya dahil olup durumun gerektirdiği işlemi yapar ve issues kapatılabilir.

Merge

Merge bir çatalda (Branch) ta yapılan bir değişikliğin diğer şubelerde de kullanılır hale gelmesi için birleştirilmesi işlemidir. Bu işlem Pull İsteği veya birkaç kod yardımıyla yapılabilir.

Conflict

Birkaç farklı Branch’ta yapılan çalışmalar paketlenip gönderilirken bazen iki dosyanın birbirleriyle çelişmesiyle sonuçlanabilir. Bu olaya conflict denir.

Şimdi bu işlemler hangi komutlarla nasıl çalışır onun bilgisini verelim.

Belli Başlı Git Komutları

Git uygulamasını bilgisayarınıza kurduysanız GitHub’a girmeden de bazı işlemler yapabilirsiniz.

Git programına ait terminalden bilgisayarınızda bir çalışma dosyası oluşturabilir ve GitHub hesabınızı tanıtarak kolayca senkronizasyon sağlayabilirsiniz. Şimdi birkaç örnekle işe koyulalım;

 “git config” Komutu

Git config komutu bilgisayarınızdaki git terminalinin kendi GitHub hesabınıza bağlayan konfigürasyon işlemini gerçekleştirir.

git config –global user.name “kullanıcı adınız”

git config –global user.email “kullanıcı e-mail adresiniz”

Bu iki komut girildikten sonra, Git terminaliyle yapacağınız işlemler artık GitHub hesabınızda da değişikliğe neden olacaktır.

“git init” Komutu

Git init komutu masa üstünüzde oluşturduğunuz bir klasörün Git’e tanımlanması için kullanılır. Önce bir klasör oluşturmak için masa üstüne gidelim:

cd ~/Desktop

Bu komut masa üstü dizinine gitmenizi sağlar. Sonra masaüstü dizininde yeni bir dizin (klasör) oluşturalım.

mkdir MyProject

Şimdi masa üstümüzde “MyProject” adında bir klasör oluşmuş olmalı masaüstünü kontrol edin. Şimdi yazacağımız komutla yeni oluşan klasörün dizinine gireceğiz.

cd MyProject/

 Bu klasörü git klasörü haline çevireceğiz ki GitHuba proje adını yazdığımızda hangi klasörden bahsettiğimizi anlasın.

$ git init

Komutunu girdiğimizde Git, klasörü işleyecek ve MyProject adında boş bir repository oluşturduğuna dair bir mesaj yazacaktır.

Initialized empty Git repository in C:/Users/Arif/Desktop/MyProject/.git/

“git clone” Komutu

Git clone komutu ile GitHub’ta bulunan bir repoyu bilgisayarınıza klonlarsınız (kopyalarsınız).

Örneğin kendi GitHub hesabımda oluşturulmuş GitHub tanıtım Slide showuna ait repoyu bilgisayarıma kaydetmek istiyorum. Git terminalini açarak;

git clone https://github.com/ariphuslu/github-slideshow.git

komutunu yazmak yeterli olacaktır. Terminal hemen işlemi başlatır ve sunucuda kayıtlı olan dosya dizini olan adresten dosyalar bilgisayarınıza kaydedilir. Adreste github.com’dan sonraki kısım sizin hangi “kullanıcı adı” kullanıcıdan dosyayı klonladığımızı gösterir.

Terminalde şu tarz bir rapor görürsünüz.

Cloning into ‘github-slideshow’..

remote: Enumerating objects: 380, done.

remote: Counting objects: 100% (380/380), done.

remote: Compressing objects: 100% (266/266), done.

remote: Total 380 (delta 95), reused 380 (delta 95), pack-reused 0

Receiving objects: 100% (380/380), 3.44 MiB | 1.09 MiB/s, done.

Resolving deltas: 100% (95/95), done.

Böylece işlem tamamlanır. Dosyaların daha önceden Git’e tanımlamış olduğumuz masaüstündeki MyProject dizinine kopyalandığını göreceksiniz.

“git add” ve “git rm” Komutları

“git add” komutu belirtilen dizine bir dosya eklemenize yarar, “git rm” komutu ise mevcut bir dosyanın silinmesini sağlar.  

git add Readme.txt

komutu dizine Readme.txt dosyası eklenmesini sağlar.

git add *

komutuyla ekleme işi tamamlanır artık yeni eklediklerimizi paketlemenin vakti geldi.

“git commit” Komutu

Bu komut daha önceden söylediğimiz gibi commit oluşturmaya yarar. Bu işlem ile yapmış olduğumuz değişiklikleri de içeren proje paketlenmiş olacak.

git commit –m “ Projeye Readme.txt dosyası eklendi.”

Oluşturulan commit’in GitHub’ta görülmesi

Bu komutla artık mesaj içeren bir commit oluşturulur. Tırnak içinde yazan mesaj commit içeriği hakkındaki bilgidir. Eklediğiniz veya çıkardığınız bir dosya, ya da yapmış olduğunuz değişikliklerin ne olduğu hakkında muhataplarına bir fikir verir.

“git push” Komutu

Oluşturduğumuz commitin GitHub taki kaynağa gönderilmesini sağlamak için kullanılır.

git push origin master

şeklinde kullanılır.

“git pull” Komutu

Ana dosyada yapılmış değişikliklerin bilgisayarınızdaki versiyona çekilmesini sağlayan komuttur.

“git brunch” Komutu

Daha önceden bahsettiğimiz branch oluşturma işlemini gerçekleştirir.

git branch –b  Branch Adı

“git merge” Komutu

Merge işlemini gerçekleştirebilmek için kullanılan komuttur. Branch’ı ana dosyayla birleştirir.

git merge Branch Adı 

şeklinde çalışmaktadır.

Her şey bir yana GitHub platformunun bir güzel yanı da sosyal medya platformu gibi çalışmasıdır. Bu platformu kullanan kişilerin projeleri aldıkları Star (beğeni) oranında popüler olurlar, trend olan bu projelerin açık kaynak kodlarını sizde inceleyip kullanabilir veya projeye dahil olabilirsiniz.  

Ücretsiz olarak birçok frameworkün ( Yazılım Araçları) paylaşıldığı bu platformdan kendi işinize yarayacak program veya kodları alarak kullanabilir ya da kendinize uyarlayabilirsiniz. İyi çalışmalar.

Domain Sorgulama
guest
0 Yorum
Inline Feedbacks
View all comments