Ortaya Karışık

TR EN

GitHub’ta Bir Projeye Nasıl Commit Atılır? – Adım Adım Rehber 🚀

“Git commit atmak" yazılımcı dünyasının ekmek-su ikilisi gibi bir şeydir. Eğer kod yazıyorsan, değişikliklerini versiyon kontrol sistemine kaydetmeyi bilmek zorundasın. Bu rehberde sana, GitHub üzerinde bir projeye commit atma sürecini sıfırdan, adım adım ve bol örnekle anlatacağım. Önemli güncelleme: Ana repoya doğrudan değil, kendi branch’inde çalışıp her zaman Pull Request (PR) ile gönderiyoruz. Ayrıca projeyi lokalde görüp test etmek için virtualenv + duty ile nasıl ayağa kaldıracağını da anlatıyorum.

1️⃣ Bu Yazıya Başlamadan Önce Okuman Gerekenler#

Eğer daha önce Git ile SSH anahtarı eklemediysen veya GPG imzalı commit/etiket konusuna göz atmadıysan, önce şu iki makaleyi mutlaka oku:

Bu rehberin sorunsuz ilerlemesi için Git kurulu olmalı, GitHub hesabına SSH anahtarın ekli olmalı, commit imzası için GPG anahtarın tanımlı olmalı ve Python kurulu olmalıdır (virtualenv ve duty kullanacağız).


2️⃣ Ön Hazırlıklar#

Git Kurulumunu Kontrol Et#

Terminalini aç ve şu komutu çalıştır:

git --version

Örnek çıktı:

git version 2.50.1

Git yoksa git-scm.com/downloads üzerinden kurabilirsin.

GitHub Hesabına Giriş Yap#

GitHub hesabın yoksa github.com üzerinden hızlıca oluştur. Varsa tarayıcıdan giriş yap.

SSH Bağlantısını Test Et#

ssh -T git@github.com

Başarılıysa şöyle bir mesaj gelir:

Hi yuceltoluyag! You've successfully authenticated, but GitHub does not provide shell access.

GPG Anahtarını Kontrol Et#

git config --global user.signingkey

Anahtar görünmüyorsa GPG yazımı takip ederek ayarla.


3️⃣ Repoyu Klonlama#

Örnek repo: yuceltoluyag.github.io GitHub Repo Klonlama

git clone git@github.com:yuceltoluyag/yuceltoluyag.github.io.git
cd yuceltoluyag.github.io

HTTPS ile klonlamak istersen: git clone https://github.com/yuceltoluyag/yuceltoluyag.github.io.git. Ancak HTTPS push sırasında kullanıcı adı/parola ister; SSH genellikle daha rahattır.


4️⃣ Kendi Branch’inde Çalış: Neden ve Nasıl?#

Ana branch’e (genellikle main) doğrudan commit/push yapmıyoruz. Bunun yerine kendimize bir branch açıp orada çalışıyoruz. Böylece ana repo düzeni bozulmuyor, tüm katkılar Pull Request (PR) ile geliyor.

Yeni branch aç:

git checkout -b benim-branchim

Örnek:

git checkout -b arkadas-landing-duzenleme

Branch isimlerini kısa, açıklayıcı ve tireli seç: bugfix-typo-footer, feature-yeni-makale-sablonu gibi.


5️⃣ Projeyi İlk Kez Lokalde Ayağa Kaldır (virtualenv + duty)#

Değişikliklerini görüp test edebilmek için projeyi lokalde çalıştırman çok önemli. Aşağıdaki adımlar ilk kurulum içindir:

# 1) Sanal ortam oluştur
python -m venv venv

# 2) Sanal ortamı aktif et
source venv/bin/activate     # Linux/Mac
# Windows PowerShell: .\venv\Scripts\Activate.ps1

# 3) Bağımlılıkları kur
pip install -r requirements.txt

# 4) Proje görevlerini/bağımlılıkları güncelle
duty update

# 5) Editörde aç (isteğe bağlı ama önerilir)
code .

# 6) Canlı yenileme ile lokal sunucuyu başlat
duty livereload

Terminal çıktısında lokal URL görürsün (çoğunlukla http://127.0.0.1:8000 veya http://localhost:8000). Tarayıcıda bu adrese giderek yaptığın değişiklikleri anlık görebilirsin. Sunucuyu durdurmak için terminalde ctrl c tuşlarına bas.

Sanal ortam (venv) aktif edilmeden duty komutlarını çalıştırırsan uygulama açılmayacaktır. Doğru komut: source venv/bin/activate (Linux/Mac). Yanlış: source venv/bin/active (sonu “activate' olmalı).


6️⃣ Değişiklik Yapma (Örnek)#

Örneğin README.md dosyasına ufak bir satır ekleyelim:

Bu satır, branch üzerinden yapılan commit örneğidir. 🚀

VS Code’da açmak için:

code .

Dosyayı düzenleyip kaydetmeyi unutma. Lokal sunucu açıksa (livereload), sayfa otomatik yenilenecektir.


7️⃣ Değişiklikleri Kontrol Et#

Neler değişmiş?

git status

Satır bazında farkı görmek için:

git diff

Yeşil yeni eklenenleri, kırmızı kaldırılanları gösterir.


8️⃣ Commit Hazırlama ve İmzalama (GPG -S)#

Değişikliklerini stage’e al:

git add .
# veya tek dosya için: git add README.md

İmzalı commit at:

git commit -S -m "README.md: örnek satır eklendi"

İyi commit mesajı kısa ve nettir. Kötü: update. İyi: docs: README.md'ye katkı akışı eklendi.


9️⃣ Branch’ini Remote’a Gönder (push)#

Artık branch’ini GitHub’a gönderebilirsin:

git push -u origin benim-branchim

Örnek:

git push -u origin arkadas-landing-duzenleme

-u parametresi, sonraki push/pull komutlarında branch izlemeyi kolaylaştırır.


🔟 Pull Request (PR) Aç: Her Zaman PR!#

Tarayıcıdan repo sayfasına git: https://github.com/yuceltoluyag/yuceltoluyag.github.io

GitHub genelde “Compare & pull request" butonunu gösterir. Tıkla ve PR’ını oluştur. Açıklama alanında:

  • Ne yaptığını
  • Neden yaptığını
  • Nasıl test ettiğini

kısaca anlat. Bu repo için 2. ve sonraki çalışmalarda her zaman PR açıyoruz; böylece repo sahibiyle karışıklık olmaz, kod inceleme akışı korunur.

Bu projede ana branch’e doğrudan push yapma. Tüm katkılar branch → PR akışıyla gelmelidir.


1️⃣1️⃣ GitHub Üzerinden Kontrol#

PR açıldıktan sonra commit’lerini ve değişikliklerini GitHub arayüzünde görebilirsin. GPG imzası doğruysa commit yanında Verified etiketi görünür.

GPG imzası, commit’in gerçekten sana ait olduğunu doğrular ve takım çalışmasında güven sağlar.


1️⃣2️⃣ İkinci ve Sonraki Çalışma Oturumları (Tekrarlanan Akış)#

Projeyi tekrar açtığında şu adımları her zaman uygula:

cd yuceltoluyag.github.io

# 1) Sanal ortamı aktif et
source venv/bin/activate      # Windows: .\venv\Scripts\Activate.ps1

# 2) Proje görevlerini/bağımlılıkları güncelle
duty update

# 3) Editörde aç (opsiyonel)
code .

# 4) Lokal sunucuyu başlat (canlı yenileme)
duty livereload

Neden tekrar tekrar? Çünkü sanal ortam aktif edilmeden başlatılırsa uygulama açılmayacaktır. Ayrıca duty update, görevlerin/bağımlılıkların güncel kalmasını sağlar.

Yeni bir iş/özellik için önerilen akış:

# Ana branch'i güncelle:
git checkout main
git pull origin main

# Yeni branch oluştur:
git checkout -b task-kisa-adi

# Çalış, commit'le, push et:
git add .
git commit -S -m "feat: X özelliği eklendi"
git push -u origin task-kisa-adi

# Her zaman PR aç:
# GitHub -> Compare & pull request

1️⃣3️⃣ Sık Yapılan Hatalar ve Çözümleri#

Hata/Belirti Neden Çözüm
command not found: duty Sanal ortam aktif değil veya bağımlılıklar kurulmamış source venv/bin/activate → pip install -r requirements.txt → duty update
Uygulama açılmıyor venv aktif edilmeden komut çalıştırıldı Her oturumda önce source venv/bin/activate
Yanlış komut: source venv/bin/active Dosya adı hatalı (activate olmalı) Doğru komut: source venv/bin/activate
Permission denied (publickey) SSH anahtarı yok/agent’e ekli değil SSH anahtarını GitHub’a ekle, ardından ssh-add ile agent’a ekle
gpg: signing failed GPG anahtarı tanımsız/parola girilmedi git config --global user.signingkey ile ayarla; pinentry kurulu mu kontrol et
PR’da “conflict" uyarısı Ana branch’te yeni commit’ler var PR açmadan önce git checkout main && git pull origin main ile güncelle
PR açılmadı, doğrudan main’e pushlandı Süreç ihlali Değişiklikleri geri al, akışı takip et: branch → push → PR

Lokal sunucuyu durdurmak için terminalde ctrl c tuşlarına bas. Yeniden başlatmak için yine duty livereload kullan.


1️⃣4️⃣ Örnek Tam Akış (Kısa Özet)#

# İlk kez:
git clone git@github.com:yuceltoluyag/yuceltoluyag.github.io.git
cd yuceltoluyag.github.io
git checkout -b arkadas-landing-duzenleme
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
duty update
code .
duty livereload   # Lokal URL'de değişiklikleri gör

# Çalış, düzenle, sonra:
git add .
git commit -S -m "docs: README'ye katkı akışı eklendi"
git push -u origin arkadas-landing-duzenleme
# GitHub'da: Compare & pull request → Açıklamayı yaz → PR gönder

Sonraki oturumlarda:

cd yuceltoluyag.github.io
source venv/bin/activate
duty update
code .
duty livereload
# Yeni iş için:
git checkout main && git pull origin main
git checkout -b yeni-gorev
# değiştir → commit → push → PR

🎯 Sonuç#

Artık “GitHub’ta bir projeye nasıl commit atılır?" sorusunun cevabını sadece öğrenmekle kalmadın; doğru akış olan branch üzerinde çalış + PR ile gönder sürecini, ayrıca projeyi lokalde ayağa kaldırma adımlarını da biliyorsun. Bu yaklaşım:

  • Ana branch’i temiz ve stabil tutar,
  • İnceleme (code review) sürecini mümkün kılar,
  • Ekip içi karışıklıkları engeller,
  • Değişikliklerini güvenle test edip doğrulamanı sağlar.

Kısacası, profesyonel bir katılım için ihtiyaç duyduğun tüm yapı taşları bu rehberde. Şimdi sıra sende: Kendi branch’ini aç, lokalde çalıştır, açıklayıcı commit mesajları yaz ve her zaman PR ile gönder. 🚀

Webmentions

Beğeniler

  • Beğeniler yükleniyor...

Yorumlar & Yanıtlar

  • Yorumlar yükleniyor...

Yorumlar
Bluesky ile Yanıtla

Fediverse veya Mastodon'da bir hesabınız varsa, bu gönderiye yanıt verebilirsiniz.

Bu URL'yi favori Fediverse uygulamanızın arama alanına veya Mastodon sunucunuzun web arayüzüne kopyalayıp yapıştırın.

Yorumlar yükleniyor...