Git ,Github ve Gitlab Nedir ?

Merhabalar Arkadaşlar

Bu yazımızda Git Nedir ,Git komutları ,Github ve Gitlab’ı tanımaya çalışacağız. Öncelikle Git Nedir sorusuna cevap vererek yazımıza başlıyoruz.

Git Nedir ?

What is Git ?
  • Git , yazdığımız projeleri ve uygulamaları, bilgisayarımızda ya da harici disklerde değilde internet üzerinde tutmamızı ve yönetmemizi sağlayan bir versiyon kontrol sistemidir.
  • Git, GNU Genel Kamu Lisansı’nın 2. sürümüyle lisanslanmış bir özgür yazılımdır .
  • Git , Linus Torvalds tarafından tasarlanıp geliştirilmiştir.

Github Nedir ?

What is Github ?

GitHub, sürüm kontrol sistemi olarak Git kullanan yazılım projeleri için bir depolama servisidir. GitHub özel depolar için ücretli üyelik seçenekleri sunarken, açık kaynaklı projeler için ücretsizdir. Öğrencilere özel education hesabı ile üye olunursa ücretsiz bir şekilde özel depolara sahip olabilirler. Daha fazla ayrıntı için aşağıdaki linki inceleyebilirsiniz :

Şubat 2008'de kurulan GitHub, Nisan 2008'de hizmet vermeye başlamıştır.Mayıs 2011 tarihinden itibaren GitHub açık kaynaklı(open source) projeler tarafından tercih edilen en popüler depolama servisidir.

Github hesaplarının istatistiklerini bulabileceğiniz , Türkiye’de ve dünya genelinde farklı programlama dillerindeki sıralamalarınızı aşağıdaki link üzerinden öğrenebilirsiniz.

Gitlab Nedir ?

What is Gitlab ?

GitLab, Github’ın kullanıcılara sağladığı işlevlerin tamamını sunan bir Git servisidir.Açık kaynak(open source) projelerinizi bu servis üzerinde ücretsiz bir şekilde oluşturabilir ve yönetebilirsiniz. Gitlab daha çok firmalarda tercih ediliyor çünkü : Ücretsiz sürümünde kendi sunucularınıza kurarak sadece kurum içi kullanıcıların erişebileceği Gitlab servisi hizmeti bulunmaktadır.

Git Komutları

Git komutlarını öğrenerek Github ve Gitlab hesaplarınızda bulunan projelerinizi rahatlıkla yönetebileceksiniz.

git config : Kullanıcı adı, mail gibi yapılandırma ayarlarını yapacağınız komuttur .

git config —global user.name “Halil”

git config —global user.email halilozel@gmail.com

git init : init komutu, bulunduğumuz dizini bir Git repository’si haline getirir ve .git uzantılı bir dizin oluşturur. Daha sonra bu repository’yi uzaktaki bir sunucuya gönderebilirsiniz.

Örnek vermek gerekirse , kök dizinde Projem adlı bir proje klasörü oluşturalım. Daha sonrada bu dizinde bir Git repository’sini oluşturalım. Aşağıdaki komutları sırasıyla yaptığınızda terminal de en altta ki satırda olduğu gibi bir açıklama gösterilecektir. “Belirtilen dizinde boş bir Git repository’si oluşturuldu.”

mkdir Projem
cd Projem
git init
Initialized empty Git repository in /home/ozel/Projem/.git/

git add : add komutu belirttiğimiz bir dosyayı ya da tüm projeyi çalışma dizinine ekler.

Yani commit’lenmeye (işlenmeye)hazır hale getirir.

git add hello_world.txt

git add *

1.satırda hello_world adlı txt dosyasını ekledik.

2.satırda ise çalışma dizinimizde ki tüm dosyaları ekledi.

git clone : clone komutuyla local(yerel)’de ya da uzak bir sunucuda(server) yer alan bir repository(depo)’nin çalışan kopyasını bulunduğumuz dizine kopyalarız.

git clone /path/to/repository

git cloneusername@host:/path/to/repository

1. satırdaki komut ile localde ki dosyalarının kopyasını alırız.

2.satırdaki komut ile de uzaktaki bir sunucunun dosyalarının kopyasını alırız.

git rm : rm(remove) komutu linux kullanıcıları tarafından tanıdık gelecek bir komuttur. Belirttiğimiz bir dosyayı çalışma dizininden siler.

git rm hello_world.txt

add komutunda depomuza eklemiş olduğumuz hello_world.txt dosyamızı çalışma dizinimizden sildik.

git commit : Çalışma dizinimize eklenen dosyaları head(baş) denilen .git uzantılı klasöre ekler. Commit işlemi yerelde gerçekleşen bir işlemdir. Uzak sunucudaki repository’de bir değişiklik olmaz. commit komutuyla projemizde yapmış olduğumuz değişiklikleri belirteceğimiz kısa bir açıklamadır.

git commit -m “projenin ilk sürümü”

Proje de yapılan değişiklikleri unutmamak adına kullanılan bir komuttur. commit ifadesini boş bırakmamaya dikkat edelim.

git pull : Uzak sunucudaki repository’de değişikliğe uğramış dosyalar varsa bunları indirir ve yereldeki repository ile birleştirerek dosyalarımızı günceller.

git pull

Bu komut uzak sunucuda değişikliğe uğramış dosyaları almamızı sağladı.

git push : Commit’lenmiş değişikliklerimizi uzak sunucudaki repository’ye göndermemizi sağlayan bir komuttur.

git push master origin

Bu komut ile commit’lenmiş değişikliklerimizi depoya gönderdik.

git status : Depomuzdaki anlık durum hakkında bizlere bilgiler verir. Değişikliğe uğramış ya da yeni eklenmiş fakat add ya da commit işlemi uygulanmamış dosyalar bulunmakta ise bunları listenmiş şekilde bizlere gösterir.

git status

Bu komut ile depomuz ile ilgili anlık bilgileri öğrenmemizi sağladı.

Bu yazımı da burada sonlandırıyorum. Bol bol Github hesaplarınızdan yaptığınız projelerinizi paylaşmak umuduyla herkese bol kodlu günler dilerim. Aşağıdaki adresten Github hesabıma ulaşabilir ve yazmış olduğum kodları inceleyebilir, değiştirebilir ve düzenleyebilirsiniz :