Her Yönüyle Git (Git Nedir? GitHub Nedir? Kullanımı)

Git Nedir?

Git bilgisayar dosylarındaki değişiklikleri izlemek için kullanılan bir versiyon kontrol sistemidir. Bir projede yer alan kişiler arasında ki koordinasyonu ve zaman içerisinde ki gelişimlerin takibini sağlar. Bir geliştirici bir şey üzerinde çalışmaya başlamak istediği zaman yeni bir branch oluşturulur. Böylece master branch’ın her zaman production-quality koda sahip olur.

Diğer bir deyişle Git, dağıtılmış bir sürüm kontrol sistemidir, dolayısıyla burada her geliştirici, kodlarını tüm commit geçmişiyle birlikte kendi local repository sine alır. Artık commit oluşturmak veya commit arasında farklar gerçekleştirmek için bir ağ bağlantısı gerekmediğinden, taahhüt geçmişi Git’i hızlı hale getirir.

Artık Git hakkında daha fazla bilgi sahibi olduğumuza göre GitHub’ı tanıyalım.

GitHub Nedir?

GitHub, web tabanlı bir grafik arayüz (GUI) sağlayan bir Git deposu barındırma hizmetidir. Her ekip üyesinin bir proje üzerinde herhangi bir yerden birlikte çalışmasına yardımcı olarak işbirliğini kolaylaştırır.

GitHub, proje yöneticilerinin ve geliştiricilerin çalışmalarını koordine ettiği, takip ettiği ve güncellediği bir yerdir, böylece projeler şeffaf ve programa uygun kalır. Paketler özel olarak, ekip içinde veya açık kaynak topluluğu için herkese açık olarak yayınlanabilir. Paketlerin GitHub’dan indirilmesi, kullanılmalarını ve yeniden kullanılmalarını sağlar. GitHub, tüm ekip üyelerinin aynı sayfada kalmasına ve düzenli kalmasına yardımcı olur. Issue ve pull isteği gibi araçları, ekibin koda odaklanmasına yardımcı olur.

Git Niçin Kullanılır?

  • Git, değişiklikleri kimin ve ne zaman yaptığıyla ilgili bilgiler de dahil olmak üzere bir projede yapılan tüm değişiklikleri izler. Bu, işbirliğini çok kolaylaştırır.
  • Geliştiriciler bir dosyada hatalar veya istenmeyen değişiklikler yaparlarsa, basitçe önceki bir sürüme dönebilirler.
  • Geliştiricilerin bir dosyaya farklı bracnh lar uygulaması ve ayrı branch larda farklı değişiklikler uygulaması gerekir. Kodun kalitesini kontrol etmek veya kodda yapılan farklı değişiklikleri test etmek için bunu yapmaları gerekebilir.

Git Komutları

Git nasıl çalışır bölümünden önce Git komutlarını inceleyelim.

  • Git config : Git’in çalışmasını özelleştirmenize olanak tanıyan komutudur.
  • Git init : Yeni bir boş Git reposu başlatır (başlatır/oluşturur).
  • Git add : Stage alanına bir veya daha fazla dosya ekler.
  • Git diff : İki versiyon arasındaki farkları gösterir.
  • Git commit : Stage alanındaki değişiklikleri bir Git reposuna kaydeder.
  • Git reset : Repoyu önceki bir işleme geri taşımak istediğimizde, bu işlemden sonra yapılan değişiklikleri göz ardı ederek kullandığımız komuttur.
  • Git status : Belirli bir zamanda Git klasöründeki değişiklikleri listeler.
  • Git merge : Değişiklikleri main branch’de birleştirmenizi sağlar (ana dal olarak adlandırılır).
  • Git push : Main branch’i GitHub veya GitBucket’ta barındırılan uzak Git deposuna aktarmanıza olanak tanır.
  • Git pull : Remote repodaki diğer geliştiriciler tarafından yapılan değişiklikleri local reponuza indirmenizi sağlar.
  • Git clone : Bir reponun bir kopyasını oluşturur (klonlar).
  • Git branch : Geçerli repodaki tüm Git branchların listesini gösterir ve ayrıca Git reposunda yeni bir branch oluşturmanıza olanak tanır.
  • Git checkout : Farklı Git branchları arasında geçiş yapmanızı (veya atlamanızı) sağlar.
  • Git log : Size bir Git branch’daki tüm commit’lerin geçmişini gösterir.
  • Git stash : Dosyalarınızdaki kaydedilmemiş tüm değişiklikleri geçici depolamaya kaydeder. Değişiklikleri daha sonra git stash pop komutuyla alabilirsiniz.

Git Nasıl Kullanılır?

Git’i öğrenmesi oldukça kolaydır. Git bir GUI client ile kullanılabilse de, birçok geliştiricinin tercih ettiği terminali kullanmanızı öneririz.

Git, Unix sistemleri için tasarlandı, bu yüzden size windows sistemler için Linux benzeri bir ortam sağlayan GitBash’e sahibiz. Unix tabanlı işletim sistemi oldukları için Linux ve macOS’ta varsayılan terminalleri kullanabilirsiniz.

1. Adım: Git’i Kurun ve GitHub Hesabı Oluşturun

Yapmanız gereken ilk şey Git’i kurmak. Windows kullanıyorsanız, Git’in resmi web sitesine gidip oradan Git’i indirebilirsiniz. macOS için de durum aynı.

Daha ayrıntılı bir kurulum kılavuzu için Git’i Windows’a Kur‘u okuyun.

Git’i Linux’ta kurmak için terminalinize aşağıdaki komutu yazmanız gerekir:

  • Fedora, CentOS ve diğer ilgili Linux dağıtımları için: sudo dnf install git-all
  • Ubuntu gibi Debian tabanlı dağıtımlar için: sudo apt install git-all

Git’i yükledikten sonra GitHub’a gidin ve bir hesap oluşturun. GitHub kullanmak istemiyorsanız GitLab ve Bitbucket gibi alternatifleri tercih edebilirsiniz.

2. Adım: Local Git Repo (Deposu) Oluşturun ve Dosya Ekleyin

Repository (Depo – kısaca “repo”), kodunuzun farklı sürümlerini kaydetmenize izin veren sanal bir depolama alanıdır. Bir geliştirici olarak iki tür havuzla çalışmanız gerekir:

  • Local Repository: Bir geliştiricinin bilgisayarındaki bir repo.
  • Remote Repository: GitHub gibi bir hosting serverdaki bir repo.

Git ile yeni bir proje oluştururken öncelikle yerel bir depo oluşturmanız gerekir. Başka bir Git komutu yazmadan önce, bir depoyu başlatan git init komutunu yazmanız gerekir.

Bunun için öncelikle proje klasörünüze gidiniz ve sağ tık Git Bash Here linkine tıklayınız. Karşınıza bir komut paneli açılacaktır.

Komut Paneli:

Komut: git init

Bu komutu yazdıktan sonra bir .git/ klasörü oluşturulur. Bu klasör, proje geçmişinizi izleyecektir. Bu klasörü sildiğinizde, projenin tüm geçmişi silinir.

Not: Bu klasör proje dosyanızın içinde gizli klasör olarak oluşacaktır. Görüntülemek için görünüm sekmesinden Gizli Öğeleri Göster tikine tıklayınız.

touch komutu, proje klasörüne yeni bir dosya ekleyebilir. Dilerseniz, touch deneme.html adlı, proje klasörünüzün içinde yeni bir HTML dosyası oluşturabilirsiniz.

3. Adım: Staging Area (Sahne Alanına) Dosya Ekleyin

Git’i kullanırken üç şeyi hatırlamanız gerekir:

  • Working directory (çalışma dizini) şu anda çalıştığınız veya kodladığınız yerdir (proje klasörünüz).
  • Staging area, değişiklik yaptığınız dosyaları eklediğiniz geçici bir alandır.
  • Git repository, dosyaları değişikliklerle işlediğiniz yerdir

Staging alanına bir deneme.html dosyası ekleyelim. Bunun için terminalde aşağıdaki komutu yazmanız yeterlidir:

git add deneme.html

4. Adım: Bir Commit Oluşturun

Artık deneme.html dosyasında yaptığınız değişiklikleri uygulayabilirsiniz.

Bunun için şu komutu yazın: git commit -m

Local repo’nuzda bir değişiklik commit ederken, commit’in ne yaptığını bilmek için bir mesaj eklemeniz gerekir.

Örneğin: git commit -m “Deneme Sayfasına Navigasyon DIV Eklendi”

5. Adım:  Yeni Bir Branch Oluşturun

Git’te yeni bir branch oluşturduğunuzda, aslında dosyanızın yeni bir sürümünü oluşturur. Farklı branch’ların farklı dosya sürümleri olacağından, bir geliştiricinin branch’lar arasında hareket etmesi gerekir.

Yazacağınız koddan emin olmadığınızda yeni bir branch oluşturabilirsiniz. Herhangi bir hata oluşursa, önceki stable branch (master/main branch olarak da adlandırılır) geri dönün.

Yeni bir branch oluşturmak için şu komutu kullanabilirsiniz:

git branch deneme_new.html

Bu komut, index.html dosyasının yeni bir branch’ını oluşturur.

6. Adım:  Yeni Branch’a Geçiş Yapın

Oluşturduğumuz Branch (deneme_new.html) geçiş yapıp o alanda çalışmak istediğinizde aşağıdaki komutu kullanabilirsiniz:

git checkout deneme_new.html

Tüm branch’ları ve çalıştığınız branch’ları da görüntülemek isterseniz aşağıdaki komutu kullanabilirsiniz:

git branch

Aktif olarak üzerinde olduğunuz branch * karakteri ve yeşil renk ile simgelenmektedir.

7. Adım:  Status (Durumu) Görüntüleyin

Commit işleminden projenizde son güncel durumu görüntülemek için aşağıdaki komutu kullanabiliriz:

git status

Commit ettiğimiz (yani izlemeye) aldığımız dosya modified başlığı altında takip edildiğini burada görebilirsiniz. Projenizde bulunan takip edilmeyen dosyalar ise untracked files başlığı altında listelenmektedir.

Projenizde takip etmek istediğiniz her işlem için add ve commit komutlarını gerçekleştirmelisiniz.

8. Adım:  Yapılan Değişiklikleri Görüntüleyin

Commit ettiğimiz dosylarımızda yapılan değişiklikleri görüntülemek için aşağıda ki kodu kullanabilirsiniz:

git diff

9. Adım: GitHub’da Uzak Bir Repo Oluşturun

Git üzerinde gerçekleştirdiğiniz tüm bu konfigürasyonları GitHub üzerinde bir uzak repo oluşturup dosyalarınızı bu repo ya aktarabilirsiniz.

GitHub’da uzak repo oluşturmak için aşağıdaki adımları izleyin:

  • Hesabınızın GitHub ana sayfasına gidin ve + düğmesine tıklayın veya New Repo düğmesini sağ üst köşede bulabilirsiniz.
  • Açılan sayfada gerekli tüm bilgileri girdikten sonra Repo oluştur düğmesine tıklayın.
  • Local bir Repo oluşturduğumuz için, istendiğinde kullanmak üzer ‘…or push an existing repository from the command line‘ seçeneğini altındaki komutları kopyalayın.
  • Artık GitHub Repository’nizin bir bağlantısını görebilirsiniz. Bağlantıyı kopyalayın.

Şimdi terminalinize geri dönün ve şu komutu girin:

git remote add origin <repo nuzun linki>

Benim kodum:

git remote add origin https://github.com/alkanfatih/Deneme.git

10. Adım: Local Repo yu GitHub’a Aktarın

Repo’nuzu GitHub’a göndermek için aşağıdaki komutu kullanabiliriz:

git push -u origin main

Yalnız bu koddan önce bizde main branch geçiş yapalım o nedenle öncelikli olarak aşağıda ki kodu çalıştırın:

git branch -M main

Yalnız Repo’nuzdan GitHub’a ilk kez gönderiyorsanız GitHub kimlik bilgilerinizi girmeniz gerekir.

Sonuç:

11. Adım: Bir Pull Request (Çekme İsteği) Oluşturun ve Merge (Birleştirin)

Başka bir kişinin repo’sundaki dosyalarda değişiklik yapmak istediğinizde, önce repo’nun sahibini uyarmanız gerekir. Bunu yapmak için onlara bir pull request (çekme isteği) göndermelisiniz. Sahibi daha sonra değişiklikleri yapmanıza izin verip vermeyeceğini belirleyebilir.

GitHub deponuzdaki dosyalarda başka biri değişiklik yaparsa, bir pull request’i kabul etmek/reddetmek için GitHub sayfanızdaki Pull Request sayfasına gidebilirsiniz.

12. Adım: Değişiklikleri Remote Repo’dan Local Repo’ya Çekin

Git işbirliği için kullanıldığından, uzak depodaki dosyalarda bir başkası değişiklik yapabilir. Bu değişiklikleri yerel deponuza eklemek isteyebilirsiniz. Bunun için pull komutunu şu şekilde kullanabilirsiniz:

git pull origin master

Burada,

  • Origin, dosyaları çektiğimiz uzak depoyu ifade eder.
  • master, Git deposundaki ilk branch verilen varsayılan addır.

Yukarıdaki komut, Remote Repo’daki tüm yeni değişiklikleri local olana ekleyecektir.

One comment

Comments are closed.