İleri Seviye Git
Amanda Crawford-Adamo
Software and Data Engineer
.git/logs/refs/heads/ dizininde saklanır
| Özellik | Git Reflog | Git Log |
|---|---|---|
| Amaç | Yerel repoda referans güncellemelerini ve yeniden yazımları gösterir | Yalnızca commit geçmişini gösterir |
| Kapsam | Yalnızca yerel depo | Yerel ve uzak depolar |
| İçerik | Tüm referans güncellemeleri (commit, reset, merge, vb.) | Yalnızca commit’ler |
| Kalıcılık | Geçici (genelde 90 gün) | Kalıcı (depo geçmişinin parçası) |
| Kullanım Durumu | Kayıp commit’leri kurtarma, son işlemleri anlama | Proje geçmişini görüntüleme, özellik geliştirmeyi anlama |
git reflog
git reflog show
git reflog expire

| Bileşen | Açıklama |
|---|---|
| short-hash | Kısaltılmış commit hash’i |
| ref | Genelde HEAD, bazen dal adları |
| index | Reflog’daki konum (0 en güncel) |
| action | İşlem türü (commit, reset, merge, vb.) |
| descriptions | İşleme ilişkin açıklama |
since = bu zamandan itibaren girdileri gösterir
git reflog --since "time-qualifer"
until = bu zamana kadar olan girdileri gösterir
git reflog --until "time-qualifer"
git reflog --since="1 week ago"
git reflog --until="yesterday"
git reflog --until="2024-01-01"
etl-feature adında bir dal oluşturulduetl-feature dalını nasıl geri yükleriz?
git reflog
git checkout <hash>
git checkout -b <branch-name>
| Reset Türü | Komut | Çalışma Dizini Etkisi | Hazırlama Alanı Etkisi |
|---|---|---|---|
| Soft | git reset --soft <commit> |
Değişiklik yok | Değişiklikler staged kalır |
| Mixed (Varsayılan) | git reset --mixed <commit> |
Değişiklik yok | Değişiklikler unstaged olur |
| Hard | git reset --hard <commit> |
Değişiklikler atılır | Değişiklikler atılır |
Önceki ETL betik değişikliklerine nasıl döneriz?
git reflog
git reset --soft HEAD@{1}
Hata yaptığımızda reflog yerel zaman makinemizdir

İleri Seviye Git