Bilmen Gereken 15 Git Komutu

Goktay Gurbuzer
5 min readNov 21, 2024

--

Umarım bir geliştirici olarak kaynak kodlarını e-posta olarak, usb veya zip’leyip whatsapp’tan atmıyorsundur.

https://pixabay.com/photos/code-javascript-html-programmer-5290465/

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?

--

--

Goktay Gurbuzer
Goktay Gurbuzer

Written by Goktay Gurbuzer

Senior Full-stack Web Developer | Ketçap Ajans - Yazılım Geliştirme Proje Lideri | C# .NetCore PHP NodeJS React NextJS T-SQL

No responses yet