GitHub İş Akışı

  1. Git
  2. GitHub
  3. Repository
  4. Commit
  5. Branch
  6. Push
  7. Pull
  8. Clone

Git ve GitHub Arasındaki Fark

Git ve GitHub genellikle birlikte anılsa da, aslında farklı sorumluluklara sahiptir. Bu farkı net anlamadan yapılan çalışmalar, ileride ciddi iş akışı problemlerine yol açar.

  • Git: Kodun geçmişini takip eden, lokal çalışan bir version control sistemidir.
  • GitHub: Git repository’lerini internet üzerinde barındıran, ekip çalışmasını kolaylaştıran bir platformdur.
  • Git olmadan GitHub olmaz, GitHub olmadan Git kullanılabilir.

Git Kurulu mu Kontrol Etme

Git ile çalışmaya başlamadan önce yapılması gereken ilk ve zorunlu adım, sistemde Git’in yüklü olup olmadığını kontrol etmektir. Bu kontrol yapılmadan hiçbir Git komutu çalıştırılmamalıdır.

  • Git sistemde kuruluysa git version 2.xx.x gibi bir çıktı alınır ve bir sonraki adıma geçilebilir.
  • Hata alınıyorsa command not found: git Git sistemde yüklü değildir. Bu durumda Git, resmi web sitesinden kurulmalıdır.
bash
git --version

Git Kullanıcı Bilgilerini Tanımlama

Git, yapılan her commit işlemini bir kullanıcı bilgisi ile ilişkilendirir. Bu nedenle Git’i kullanmaya başlamadan önce, commit’lerin kimin adına atılacağını Git’e söylemek gerekir. Bu bilgiler:

  • Bir kere tanımlanır
  • Tüm projeler için geçerlidir
  • Commit geçmişinde kalıcı olarak görünür

Kullanıcı Adı Tanımlama

Bu ayar, commit’lerde görünecek olan isim bilgisini belirler. Gerçek adınız, takma ad veya ekip içi tanımlama olabilir.

bash
git config --global user.name "Sezer Gec"

E-posta Adresi Tanımlama

Bu ayar, commit’lerde görünecek olan e-posta adresini belirler. GitHub hesabınızda kullandığınız e-posta ile aynı olması önerilir.

bash
git config --global user.email "example@gmail.com""

Lokal Proje Klasörü Oluşturma

Git, tek başına çalışan bir araç değildir. Her zaman bir klasör üzerinden çalışır ve bu klasörü proje olarak kabul eder.Projenin kök dizini olacak ve tüm kodlar burada yer alacak. Bu adımda:

  • Sadece bir klasör oluşturulur
  • Henüz Git repository yoktur
  • GitHub yoktur
bash
mkdir example-project
cd example-project

Git Repository Başlatma

Şu anda elimizde bir proje klasörü vardır, ancak Git bu klasörü henüz takip etmemektedir. Bu klasörü bir Git repository’si haline getirmek için Git’e açıkça “bu klasörü takip et” dememiz gerekir. Aşağıdaki komut, bulunduğun dizini bir Git repository’si haline getirir. Bu işlem tamamen lokaldir ve internet bağlantısı gerektirmez.

  • .git adlı gizli bir klasör oluşturulur
  • Tüm commit geçmişi bu klasörde tutulur
  • Proje artık Git tarafından takip edilir
bash
git init

İlk Dosyayı Eklemek ve İlk Commit

Git repository başlatıldıktan sonra Git artık bu klasörü takip edebilir, ancak henüz ortada takip edilecek bir dosya yoktur. Git, sadece değişiklikleri ve dosyaları kaydeder.

Bu nedenle sıradaki adım, projeye ilk dosyayı eklemek ve bu durumu Git geçmişine kaydetmektir. Bu işlem commit olarak adlandırılır.

İlk Dosyayı Oluşturma

Örnek olması için basit bir README dosyası oluşturulur. Bu dosya, projenin ne yaptığını açıklamak için kullanılır ve neredeyse her projede bulunur.

bash
touch README.md

Dosya Durumunu Kontrol Etme

Git, repository içindeki dosyaların durumunu otomatik olarak takip eder. Aşağıdaki komut ile hangi dosyaların takip edilmediği görülebilir. Bu aşamada README.md dosyası untracked olarak görünür. Bu, Git’in dosyayı henüz takip etmediği anlamına gelir.

bash
git status

Dosyayı Takibe Alma

Git’e, bu dosyanın bir sonraki commit’te kaydedilmesini istediğimizi söylemek için dosya stage alanına eklenir. Projedeki belirli bir dosyayı eklemek için: git add README.md

bash
git add .

İlk Commit Atma

Stage alanına eklenen dosyalar artık commit edilebilir. Commit, projenin o anki halinin Git geçmişine kaydedilmesidir.

bash
git commit -m "Initial commit"

GitHub Üzerinde Repository Oluşturma

Bu aşamada lokal bilgisayarda oluşturulan Git repository’si, GitHub üzerine taşınır. GitHub, kodun uzaktan saklandığı ve paylaşıldığı platformdur.

  • Lokal kod GitHub’a gönderilir
  • Proje artık internet üzerinde yedeklenir
  • Ekip çalışmasına hazır hale gelir

GitHub hesabına giriş yapıldıktan sonra Yeni butonuna tıklanır ve aşağıdaki kurallar uygulanarak uzak GiHub deposu oluşturulur.

  • Depo Adı : proje klasörü ile aynı olmalıdır.
  • Açıklama : proje ile alakalı açıklama ama isteğe bağlıdır.
  • Halk / Özel : proje halka açık veya sadece sana özel ihtiyaca göre seçilir.
  • README, .gitignore, license : bu seçenekler işaretlenmez çünkü bu dosyalar zaten lokal ortamda oluşturulmuştur.

Lokal Repository’yi GitHub’a Bağlama

Bu aşamada lokal bilgisayarda oluşturulan Git repository’si ile GitHub üzerinde oluşturulan boş repository birbirine bağlanır. Bu işlemden sonra kodlar GitHub’a gönderilebilir hale gelir.

  • Lokal repo ile GitHub repo arasında bağlantı kurulur
  • Henüz kod gönderilmez
  • Sadece bağlantı tanımı yapılır

Remote Repository Tanımlama

GitHub üzerinde oluşturulan repository’nin URL adresi kullanılarak origin adıyla bir remote tanımlanır. origin, GitHub’daki ana repository’yi temsil eder.

bash
git remote add origin https://github.com/USERNAME/example-project.git

Remote Kontrolü

Tanımlanan remote’un doğru şekilde eklenip eklenmediği kontrol edilir. Eğer her şey doğruysa origin satırı listelenir.

bash
git remote -v

Branch Standartlaştırma ve İlk Push

Bu aşamada lokal repository’de kullanılan branch adı GitHub standartları ile uyumlu hale getirilir ve ilk kez kodlar GitHub’a gönderilir. Bu işlem sonrası lokal ve remote repository senkronize olur.

  • Varsayılan branch main olarak ayarlanır
  • Lokal branch GitHub’a gönderilir
  • Takip ilişkisi (upstream) kurulur

Branch Adını main Olarak Ayarlama

Bazı sistemlerde varsayılan branch adı master olabilir. Bu komut ile branch adı main olarak güncellenir.

bash
git branch -M main

İlk Push İşlemi

Bu komut ile lokal main branch’i GitHub’daki repository’sine gönderilir. -u parametresi, bu branch’in varsayılan takip branch’i olarak ayarlanmasını sağlar. Push işlemi başarılı olduğunda proje dosyaları GitHub üzerinde görüntülenebilir hale gelir.

bash
git push -u origin main

.gitignore Kullanımı

Git, proje klasörü içindeki tüm dosyaları varsayılan olarak takip eder. Ancak bazı dosyaların GitHub’a gönderilmesi istenmez. Bu dosyaların Git tarafından yok sayılması için .gitignore dosyası kullanılır.

.gitignore Dosyası Oluşturma

Repository kök dizininde .gitignore adlı bir dosya oluşturulur.

bash
touch .gitignore

.gitignore İçeriği

Aşağıda Node.js tabanlı projeler için yaygın kullanılan bir örnek bulunmaktadır. GitHub'a aktarılmasını istemediğiniz dosya veya klasörleri ekleyebilirisniz.

text
node_modules/
.env
.next/
dist/
build/
.DS_Store
npm-debug.log*
yarn-debug.log*
yarn-error.log*

Günlük Git Çalışma Akışı

Repository GitHub’a bağlandıktan sonra Git, günlük geliştirme sürecinin doğal bir parçası haline gelir. Yapılan her değişiklik belirli bir sıra izlenerek kaydedilir ve GitHub’a gönderilir. Bu akış, bireysel projelerde ve ekip çalışmalarında standarttır.

Dosya Üzerinde Değişiklik Yapma

Proje dosyalarında yapılan her değişiklik Git tarafından otomatik olarak algılanır. Ancak bu değişiklikler commit edilene kadar yalnızca lokal bilgisayarda geçerlidir.

Değişiklikleri Kontrol Etme

Hangi dosyaların değiştiğini görmek için aşağıdaki komut kullanılır. Değiştirilen dosyalar modified olarak listelenir.

bash
git status

Değişiklikleri Stage Alanına Alma

Yapılan değişiklikleri commit edebilmek için stage alanına eklemek gerekir. Günlük kullanımda çoğunlukla tüm değişiklikler eklenir.

bash
git add .

Yeni Commit Oluşturma

Yapılan değişiklikler açıklayıcı bir commit mesajı ile Git geçmişine kaydedilir. Commit mesajı, yapılan işin ne olduğunu net şekilde anlatmalıdır.

bash
git commit -m "Update README content"

Değişiklikleri GitHub’a Gönderme

Commit edilen değişiklikler GitHub’daki repository’ye gönderilir. Upstream tanımlandığı için sadece git push komutu yeterlidir.

bash
git push origin main

Projeyi Çekmek ve Güncellemek

GitHub üzerinde bulunan bir projeyi lokal bilgisayarınıza almak veya mevcut projenizi GitHub’daki en güncel sürümle senkronize etmek için kullanılan adımlar. İlk kez projeyi almak için git clone, daha sonra güncel tutmak için git pull komutu kullanılır.

Git Clone

GitHub üzerindeki bir repository’yi ilk kez almak için kullanılır. Bu işlem, repository’nin tüm dosyalarını ve commit geçmişini lokal bilgisayara getirir.

bash
git clone https://github.com/USERNAME/example-project.git

Git Pull

Daha önce clone edilmiş bir proje üzerinde, GitHub’daki değişiklikleri almak için kullanılır.

bash
git pull origin main
Bu Sayfada
copyright © 2026 - sezergec.dev