En Çok Kullanılan Git Komutları Nelerdir? (Git Cheat Sheet)
Bir projede çalışırken en sık kullanılan 5 Git komutu şunlardır: Uzak depoyu indirmek için git clone, dosyalardaki değişiklikleri hazırlamak için git add ., yapılan işi kaydetmek için git commit -m "mesaj", kodu uzak sunucuya göndermek için git push ve ekip arkadaşlarının yazdığı son kodları kendi bilgisayarınıza çekmek için git pull komutu kullanılır.
Git komutları, yazılım geliştirme sürecinde kod değişikliklerini takip etmek, ekip çalışmasını yönetmek ve sürüm geçmişini kontrol etmek için kullanılır. Modern yazılım dünyasında Git bilmeden profesyonel bir ekibe dahil olmak neredeyse imkansızdır.
1. Git Nedir?
Git, Linus Torvalds (Linux'un kurucusu) tarafından geliştirilen ve dünyanın en yaygın kullanılan Dağıtık Versiyon Kontrol Sistemidir (DVCS). Kodunuzdaki her karakter değişikliğini takip etmenizi, hatalı bir işlem yaptığınızda önceki sürümlere dönebilmenizi ve onlarca geliştiricinin GitHub, GitLab veya Bitbucket üzerinden aynı projede çakışma yaşamadan çalışmasını sağlar.
2. Git Clone
git clone, uzak bir repository’nin (deponun) tam bir kopyasını kendi yerel (local) bilgisayarınıza indirmek için kullanılır. Yeni bir şirkete girdiğinizde veya bir açık kaynak projeye katkı yapmak istediğinizde kullanacağınız ilk komuttur.
git clone https://github.com/kullanici/proje.git
git clone --branch main <repo> # Sadece belirli bir dalı indirir
git clone --depth=1 <repo> # Sadece en son commit'i indirir (Hafif kopya)
3. Git Status
git status, yerel deponuzun o anki "sağlık durumunu" gösterir. Hangi dosyaları değiştirdiğinizi, hangi dosyaları sildiğinizi ve henüz commit edilmeye hazır olmayan (untracked) dosyaları size kırmızı veya yeşil renklerle listeler.
git status
Not: Commit atmadan önce her zaman bu komutu çalıştırarak neyi kaydettiğinizi kontrol edin.
4. Git Add
git add, yaptığınız değişiklikleri paketlemek üzere "Staging Area" adı verilen sahneleme alanına alır. Bu işlem kodu uzak sunucuya göndermez; sadece bir sonraki commit'te (kayıtta) hangi dosyaların olacağını seçmenizi sağlar.
git add dosya-adi.java # Sadece tek bir dosyayı ekler
git add . # Değişen TÜM dosyaları ekler (Nokta işareti)
5. Git ls-files
Şu an çalışma dizininizde Git tarafından aktif olarak takip edilen (tracked) tüm dosyaların listesini döker.
git ls-files
6. Git rm
git rm, dosyaları Git takibinden kaldırmak veya silmek için kullanılır. Eğer bir dosyayı bilgisayarınızda (yerelde) tutmak ancak Git'in onu takip etmesini bırakmasını istiyorsanız (Örneğin yanlışlıkla eklenmiş bir şifre dosyası veya .env) --cached parametresi hayat kurtarır.
git rm --cached gizli-ayar.txt
7. Git Commit
git commit, git add ile sahneye aldığınız dosyaların o anki durumunun (snapshot) bir fotoğrafını çeker ve bunu yerel veritabanınıza kalıcı olarak kaydeder.
git commit -m "Login sayfasındaki CSS hatası düzeltildi"
git commit -a -m "Mesaj" # Add ve Commit işlemini tek satırda yapar
8. Git Push
git push, yerel deponuzdaki (bilgisayarınızdaki) onaylanmış commit’leri uzak repoya (GitHub/GitLab) yüklemek için kullanılır. Bu sayede ekip arkadaşlarınız sizin yazdığınız kodlara erişebilir.
git push origin main
9. Git Fetch
git fetch, uzak repoda (Örn: GitHub'da) siz yokken nelerin değiştiğini kontrol eder ve bu değişiklikleri bilgisayarınıza indirir, ancak çalışma dizininize (kodlarınıza) müdahale etmez. Kodunuzun bozulmasını istemiyorsanız, pull yapmadan önce güvenli bir ön inceleme adımıdır.
git fetch origin
10. Git Pull
git pull, uzak repodaki değişiklikleri indirir ve anında sizin bilgisayarınızdaki mevcut kodlarla birleştirir (Merge). Aslında git fetch ve git merge komutlarının birleşimidir.
git pull origin main
git pull işlemi sırasında "Merge Conflict" (Çakışma) alırsınız. Bu durumu editörünüzden çözmeniz gerekir.
11. Git Log ve Git Show
git log, projedeki commit geçmişini (kim, ne zaman, hangi kodu attı) listeler. git show ise spesifik bir commit'in içinde hangi satırların silinip eklendiğini detaylıca inceler.
git log --oneline --decorate --graph --all # Harika bir görsel log ağacı çizer
git show a1b2c3d # a1b2c3d ID'li commit'in içeriğini gösterir
İpucu: Eğer terminalde daha fazla komut öğrenmek istiyorsanız En Temel 24 Linux Komutu yazımıza bakabilirsiniz.
12. Sık Sorulan Sorular
git add ile git commit farkı nedir?
Alışveriş sepeti mantığıyla düşünün: git add, ürünleri (dosyaları) sepete eklemektir. git commit ise kasaya gidip ödemeyi yaparak (kodu kaydederek) işlemi tamamlamaktır.
git fetch ile git pull arasındaki fark nedir?
git fetch sadece güncellemeleri indirir ama sizin yazdığınız kodlara dokunmaz. git pull ise indirilen güncellemeleri zorla sizin kodlarınızın üzerine yazar ve birleştirir.
git rm --cached ne işe yarar?
Yanlışlıkla git add yaptığınız ve uzak sunucuya gitmesini istemediğiniz bir dosyayı (Örneğin şifrelerin olduğu .env dosyasını) Git'in takip listesinden çıkarır, ancak dosyayı bilgisayarınızdan silmez.
Sonuç
Bu rehberde, modern bir yazılımcının günlük iş akışında ihtiyaç duyacağı en çok kullanılan Git komutlarını temel mantıklarıyla birlikte ele aldık. Git clone, status, add, commit, push ve pull döngüsüne hakim olduğunuzda, hem bireysel projelerinizi güvenle yedekleyebilir hem de büyük ekiplerde sorunsuzca çalışabilirsiniz.