Bilmen Gereken 15 Git Komutu
Umarım bir geliştirici olarak kaynak kodlarını e-posta olarak, usb veya zip’leyip whatsapp’tan atmıyorsundur.
Git’in komut satırı arayüzü başlangıçta göz korkutucu gelebilir, ancak aslında GUI’lerin sunmadığı şekillerde kodunuz üzerinde kontrol sahibi olmanızı sağlayan çok kullanışlı bir araçtır. Sadece birkaç Git komutuyla bile rahat edebilirseniz, daha üretken olacağınızı göreceksiniz.
Bu rehberde, ister tek başınıza ister bir ekiple çalışıyor olun, iş akışınızı daha düzgün, hızlı ve esnek hale getirecek 15 Git komut satırı ipucunu ele alacağız.
1. git init
- Yeni bir depo başlatmak
Her şey git init
ile başlar. Bu komut, mevcut dizinde yeni bir Git deposu başlatır ve versiyon kontrolü için hazırlık yapar. Temel bir komut olup, her yeni projeye başladığınızda kullanırsınız. Terminalinizde şu komutu çalıştırabilirsiniz:
git init
Küçük veya kişisel projeler için bile git init
kullanmak, versiyon kontrolünü baştan tutarlı tutar ve projeyi organize eder.
2. git clone
- Mevcut bir depoyu kopyalamak
Mevcut bir projeye katıldığınızda veya uzakta barındırılan bir şey üzerinde çalışırken, git clone
komutunu kullanarak depoyu yerel ortamınıza kopyalarsınız. Bu komut, projenin geçmişine ve dosyalarına hemen erişmenizi sağlar.
git clone https://github.com/GoktayGurbuzer/NodeJS-WebApi.git
git clone
, kurulum sürecini basitleştirerek işbirliğine atlamak için kolay bir yol sunar ve sizi kod yazmaya odaklanmanızı sağlar.
3. git add
- Çalışmanızı hazırlamak
Değişiklikleri commit etmeden önce hazırlama alanına eklemek ilk adımlardan biridir. git add <dosya>
belirli dosyaları, git add -A
ise tüm değişiklikleri hazırlama alanına ekler. Değişiklikleri doğru şekilde hazırlamak, commit'lerinizi temiz ve yönetilebilir tutar.
# Belirli bir dosyayı ekle
git add index.js
# Tüm değişiklikleri ekle
git add -A
Bu, kazara commit yapmayı veya dağınık bir geçmiş oluşturmayı önlemek için önemlidir. -A
seçeneği her şeyi hızlıca eklemek için kullanışlıdır, ancak daha karmaşık projelerde seçici olmak en iyisidir.
4. git commit
- Değişikliklerinizin anlık görüntüsünü oluşturmak
Her Git kullanıcısının git commit -m
komutuna alışması gerekir. Bu komut, hazırlanan değişikliklerin mevcut durumunun bir anlık görüntüsünü mesajla birlikte oluşturur ve proje geçmişini anlamayı kolaylaştırır.
git commit -m "Kullanıcı giriş özelliğini ekle"
Açık bir commit mesajı, uzun vadede çok zaman kazandırır. Bir commit’i doğru şekilde tanımlamayı unutmak kolaydır, ancak burada net olmak gelecekte sorunları izlerken baş ağrısını önleyebilir.
5. git add -p
- Değişiklikleri parça parça hazırlamak
Bazen bir dosyadan sadece belirli değişiklikleri commit etmek istersiniz. git add -p
(patch) komutu, değişiklikleri parça parça gözden geçirip eklemenizi sağlar, böylece her commit'i tek bir göreve odaklanmış tutabilirsiniz.
git add -p
Bu komut, commit’leri temiz ve düzenli tutmamı sağladı. Birden fazla düzeltme veya özellik üzerinde çalışırken son derece faydalıdır.
6. git status
- Çalışma alanınızın mevcut durumunu kontrol etmek
git status
, çalışma dizininizin hızlı bir görünümünü sunar. Hazırlanan, değiştirilmiş ve izlenmeyen dosyaları gösterir. Bu komut, istemediğiniz değişiklikleri commit etmemek için gereklidir.
git status
Bu komutu sıkça kullanabilirsiniz çünkü her zaman bir sonraki adımları atmadan önce her şeyin nasıl durumda olduğunu net bir şekilde gösterir.
7. git log
- Commit geçmişini gözden geçirmek
git log
, tüm commit'leri, yazarları ve zaman damgalarını gösteren ayrıntılı bir commit geçmişi sağlar. Daha öz bir görünüm için git log --oneline
kullanabilirsiniz, her commit'i tek bir satırda özetler.
# Tam commit geçmişi
git log
# Özetlenmiş geçmiş
git log --oneline
Bu komut, proje geçmişini takip etmenize yardımcı olur ve --oneline
özellikle son çalışmaları hızlıca gözden geçirmek için idealdir.
8. git diff
- Commit'ler veya durumlar arasındaki değişiklikleri görüntülemek
git diff
, çalışma dizininiz ile son commit arasındaki değişiklikleri görmenizi sağlar. Commit etmeden önce değişikliklerinizi kontrol etmek için çok değerlidir.
git diff
Commit yapmadan önce bunu kullanırım. Özellikle büyük görevlerde tamamlanmamış kodu dahil etmekten beni kurtardı.
9. git branch
- Dalları listelemek, oluşturmak ve silmek
Dallanma, ayrı özellikler veya görevler üzerinde çalışmak için esastır. git branch
mevcut dalları listeler, yeni dallar oluşturur ve eski dalları siler. Doğru dal yönetimi, projeleri düzenli tutar ve paralel çalışmalarda sorunları önler.
# Tüm dalları listele
git branch
# Yeni bir dal oluştur
git branch feature-login
# Bir dalı sil
git branch -d feature-login
Dalların isimlerini açık tutmak ve git branch
'i sık kullanmak, özellikle işbirlikçi projelerde işleri yönetilebilir kılar.
10. git checkout
- Dalları değiştirmek veya yeni dallar oluşturmak
Dallar arasında geçiş yapmak günlük Git görevlerinden biridir. git checkout <dal>
mevcut dallar arasında geçiş yapmanızı sağlar, git checkout -b <yeni-dal>
ise yeni bir dal oluşturur ve ona hemen geçiş yapar.
# Mevcut bir dala geçiş yap
git checkout feature-login
# Yeni bir dal oluştur ve geçiş yap
git checkout -b feature-signup
Bu komutu neredeyse her gün kullanırım ve birden fazla özellik talebiyle başa çıkarken çok önemlidir. Geliştirmeyi odaklı tutar ve işlerin birbirine karışmasını önler.
11. git remote add origin
- Yerel ve uzak depoları bağlamak
Yeni bir depo kurarken, genellikle ilk görevlerden biri onu uzak bir depoyla bağlamaktır. git remote add origin
komutu, yerel deponuzu uzak bir depoya bağlar ve işbirliği için hazır hale getirir.
git remote add origin https://github.com/GoktayGurbuzer/nextjs-denemeleri.git
Bu komut basit görünse de, baştan doğru yapmak diğer uzak işlemleri sorunsuz hale getirir. Push ve pull hatalarını önlemek için URL’yi her zaman kontrol ederim.
12. git pull
ve git push
- Yerel ve uzak değişiklikleri senkronize etmek
git pull
ve git push
, uzak bir depo içeren herhangi bir Git iş akışının temelidir. git pull
, uzak depodaki değişiklikleri yerel dalınıza getirirken, git push
yerel commit'lerinizi uzak dala gönderir.
# Uzak depodan değişiklikleri çek
git pull origin main
# Değişiklikleri uzak depoya gönder
git push origin main
Pull ve push işlemlerini iyi bilmek işbirliği için esastır. Özellikle senkronizasyonun önemli olduğu büyük projelerde ne zaman ve nasıl kullanılacağını bilmek anahtardır.
13. git reset <commit>
- Son commit'leri geri almak
Hatalar veya güncellemeler nedeniyle geri adım atmanız gereken zamanlar olabilir. git reset
komutu, HEAD göstergesini belirli bir commit'e taşıyarak commit'leri geri almanıza yardımcı olur. Hataları düzeltmek için basit ve kullanışlıdır.
# Önceki commit'e geri dön
git reset HEAD~1
Reset komutu, hatalı olduğunu düşündüğünüz commit’leri temizlemek için iyidir. Ancak, commit geçmişini değiştirdiği için dikkatli kullanılmalıdır.
14. git stash
- Değişiklikleri geçici olarak kaydetmek
Hızlı tempolu çalışma ortamlarında, görevleri hızla değiştirmek gerekebilir. git stash
komutu, mevcut çalışmanızı commit etmeden kaydetmenizi sağlar ve bıraktığınız yerden kolayca devam edebilirsiniz.
git stash
Ayrıca, izlenmeyen dosyaları da saklamak isterseniz:
git stash -u
git stash
komutu, birden fazla sorumlulukla uğraşırken geçici olarak temiz bir sayfa açmak için oldukça pratiktir.
15. git reflog
- Tarihsel değişikliklere erişmek ve kayıp commit'leri kurtarmak
git reflog
genellikle göz ardı edilir ancak Git komutlarının tam geçmişine erişmek için çok kullanışlıdır. Kayıp çalışmaları kurtarmak veya karmaşık sorunları çözmek istediğinizde hayat kurtarıcı olabilir.
git reflog
Bir şeyler ters gittiğinde, reflog kayıp değişiklikleri kurtarmak için bir yol sağlar ve günlük olarak kullanılmasa bile bilinmeye değer.
Sonuç
Bu 15 Git komut satırı ipucu, hem tek kişilik projeler hem de ekip tabanlı iş akışları için sağlam bir temel oluşturur. Bu temelleri iyi öğrenmek, verimli çalışmanızı, hataları en aza indirmenizi ve temiz bir proje geçmişi sürdürmenizi sağlar. Zamanla, her komutta rahat edildikçe, kod yönetme konusundaki güveniniz artacaktır.
Git’in gücü esnekliğinde yatıyor ve komut satırını öğrenmek bu gücü tam anlamıyla kullanmanıza olanak tanır. Bu komutları pratiğe dökün, uygulayın ve daha akıcı bir geliştirme deneyimi için ikinci doğanız haline gelmelerini sağlayın.
Beni LinkedIn’den takip edebilirsiniz.
Bir önceki yazımı “Next.js Proje Yapısı” okudunuz mu?