Git, yazılım geliştirme süreçlerinde kodları yönetmek ve versiyon kontrolü yapmak için kullanılan güçlü bir araçtır. Bu yazıda, Git ile ilgili temel komutları ve bu komutların nasıl kullanılacağını öğrenelim.
#### 1. Git Kullanıcı Bilgilerini Ayarlama
Git kullanırken, kullanıcı adı ve e-posta adresi belirtmek önemlidir. Bu bilgiler commit’lerinizde yer alır ve kim tarafından yapıldığını gösterir.
git config - global user.name "Ahmet Akın"
Bu komutla Git ortamında kendinize bir kullanıcı adı belirtirsiniz.
git config - global user.email "[email protected]"
Bu komutla Git ortamında kendinize bir e-posta belirtirsiniz.
#### 2. Mevcut Dizin ve Dosyaları Görüntüleme
pwd
Bu komutla bulunduğunuz klasörün dizinini göstermiş olursunuz.
ls --dosya listeler
Bu komutla bulunduğunuz klasördeki dosyaları liste şeklinde göstermiş olursunuz.
#### 3. Git Projesi Başlatma
git init
Bu komutla projemizi Git projesi haline getiriyoruz.
ls -a
Bu komut, gizli dosyaları (örneğin `.git` klasörünü) gösterir.
#### 4. Dosyaları Geçiş Bölgesine Eklemek ve Commit Etmek
git add .
Bu komutla tüm dosyalarınızı geçiş bölgesine (staging area) eklemiş olursunuz.
git commit -m "Proje oluşturuldu"
Bu komutla geçiş bölgesindeki dosyaları Git deposuna kaydedersiniz.
#### 5. Logları ve Durumları Kontrol Etme
git log
Bu komut oluşturulmuş Git loglarını gösterir.
git status
Projenizdeki değişiklikleri gösterir. Bu komut oldukça önemlidir.
git diff
Projenizdeki değişiklikleri satır satır gösterir.
#### 6. Belirli Bir Commit’e Geri Dönme
git checkout a3149b639af0230bede07106a72d182f7933940c
Bu komut, belirli bir commit’e geri dönmenizi sağlar. (Commit numarası: `a3149b639af0230bede07106a72d182f7933940c`)
#### 7. Git Loglarını ve Geçmişini Temizleme
( find . -type d -name ".git" \ && find . -name ".gitignore" \ && find . -name ".gitmodules" ) | xargs rm -rf
Bu komut, bulunduğunuz klasördeki tüm Git loglarını ve ilgili dosyaları siler.
#### 8. `.gitignore` Dosyasını Kullanma
touch .gitignore
Bu komut, `.gitignore` dosyasını oluşturur. Bu dosyaya, Git’in takip etmesini istemediğiniz dosyaların isimlerini yazabilirsiniz.
#### 9. Branch Yönetimi
git branch
Bu komut mevcut Git branch’lerini gösterir.
git branch (branch ismi)
Bu komut yeni bir branch oluşturur.
git switch master
Bu komut, aktif branch’i değiştirir.
#### 10. Branch’leri Birleştirme
git merge (branch ismi)
Bu komut, belirttiğiniz branch’i mevcut branch ile birleştirir.
#### 11. Dosya Geri Yükleme
git restore istedigimdosya.txt
Bu komut, belirtilen dosyayı geri yükler. Daha fazla bilgi için [bu linke](https://www.git-tower.com/learn/git/commands/git-restore) göz atabilirsiniz.
#### 12. Commit’i Geri Alma
git revert (commit hash)
Bu komut, belirli bir commit’i geri almak için kullanılır.
#### 13. Geçiş Bölgesindeki Dosyayı Silme
git rm - cached index.html
Bu komut, geçiş bölgesindeki dosyayı (staging area) siler.
#### 14. Git Reset Komutları
git reset - mixed HEAD~1
git reset - hard HEAD~1
git reset - soft (commit hash)
Bu komutlar, commit’lerinizi geri almak için kullanılır. Daha fazla bilgi için [bu makaleye](https://medium.com/@mustafazahidefe/git-notlar%C4%B1-7-git-reset-6fefc9835cbe) göz atmanızı tavsiye ederim.
### Sonuç
Bu temel Git komutları ile versiyon kontrolü ve kod yönetimini daha verimli bir şekilde yapabilirsiniz. Daha ileri düzey komutlar ve kullanım detayları için resmi Git dokümantasyonuna ve diğer eğitim materyallerine göz atmanızı öneririm.