Modül 1 · Git ve GitHub temelleri · ⏱ 12 dakika

Git nedir, GitHub nedir — fark ne?

Git vs GitHub — what's the difference?

Bu derste neler öğreneceksin

  • Git (version control sistemi) ile GitHub (platform) arasındaki temel farkı anlamak
  • Distributed version control sisteminin neden önemli olduğunu açıklamak
  • GitHub'ın Git'in üstüne ne eklediğini listelemek
  • Sınav soru tiplerinde bu ayrımın nerede sorulduğunu tanımak

GH-900’ün ilk ve en temel sorusu: Git ile GitHub aynı şey mi? Hayır — ve bu ayrım sınavda doğrudan çıkar. Git bir araçtır; GitHub o aracın üstünde kurulu bir platform.

Git nedir?

Git, Linus Torvalds tarafından 2005’te Linux kernel geliştirme sürecini yönetmek için oluşturulan açık kaynaklı, dağıtık version control sistemidir.

Temel özellikleri:

  • Dağıtık (distributed): Her geliştiricinin yerel makinesinde tam repo geçmişi vardır. Merkezi sunucu olmadan çalışabilir.
  • Hız: Yerel işlemler ağa bağlı değil, neredeyse anlık
  • Branching: Ucuz ve hızlı branch oluşturma — her branch sadece bir pointer
  • Integrity: Her commit SHA-1 hash ile imzalanır; geçmiş değiştirilemez

Git tamamen komut satırı tabanlıdır ve herhangi bir hosting platformuna ihtiyaç duymaz. Yerel makinende git init yazarsan Git reposu oluşturmak için internete ihtiyacın yok.

git init my-project          # Yeni repo başlat
git clone <url>              # Mevcut repoyu yerel makineye indir
git log --oneline            # Commit geçmişini listele
git diff                     # Değişiklikleri göster

GitHub nedir?

GitHub, Git repolarını barındıran ve üstüne collaboration, CI/CD, proje yönetimi, güvenlik gibi araçlar ekleyen bir web platformudur. Microsoft bünyesinde (2018’den beri).

Git’in üstüne ne ekler:

ÖzellikAçıklama
Remote hostingRepolarını bulutta sakla, paylaş
Pull RequestsKod review ve merge workflow’u
IssuesHata ve görev takibi
GitHub ActionsCI/CD — push/PR tetiklemeli otomasyon
GitHub PagesStatik site hosting
GitHub ProjectsKanban/tablo tabanlı proje yönetimi
GitHub PackagesDocker/npm gibi paket registry
GitHub CopilotAI kod asistanı
Security featuresDependabot, secret scanning, code scanning
DiscussionsForum benzeri tartışma alanı

Sınav perspektifinden kritik ayrım

Sınavda şu tarzda sorular çıkar:

“Bir geliştirici git push yaparken internet bağlantısı kesiliyor. Lokal commit’lerin durumu nedir?”

Cevap: git commit yerel işlemdir; commit’ler kaybolmaz. Sadece push işlemi (GitHub’a gönderme) başarısız olur.

“GitHub olmadan Git kullanılabilir mi?”

Cevap: Evet. Git standalone çalışır. GitHub Git’e bağımlıdır, ama Git GitHub’a bağımlı değildir.

Alternatif Git hosting platformları

Git GitHub’a özgü değildir. Aynı Git komutları şu platformlarla da çalışır:

  • GitLab — self-hosted veya cloud, CI/CD entegre
  • Bitbucket — Atlassian ekosistemi (Jira entegrasyonu)
  • Azure DevOps Repos — Microsoft’un kurumsal çözümü
  • Gitea — açık kaynak, self-hosted

GH-900 sınavı GitHub platformuna odaklanır; diğer platformlara girmez.

Önemli terminoloji

TerimAçıklama
Repository (repo)Projenin tüm dosya ve geçmişini içeren Git veritabanı
Local repoKendi bilgisayarındaki kopya
Remote repoGitHub’daki (veya başka sunucudaki) kopya
OriginGenellikle varsayılan remote’a verilen isim
CloneRemote repoyu local’a kopyalamak
ForkGitHub’da başka kullanıcının reposunu kendi hesabına kopyalamak

Git ve GitHub’ın farkını net kavramak, sınavın geri kalanını anlamak için zemin sağlar. Bu ayrımı kafanda netleştirmeden diğer derslere geçme.

Sırada ne var?

Bir sonraki derste commit, branch ve merge — Git’in temel çalışma döngüsünü ele alacağız.