O Shit, Git? kitabı yayımlandı
(ohshitgit.com)-
Git sorunlarını çözme yolları
- Git’in karmaşık ve hata yapmaya açık bir araç olduğu, bu yüzden sorunları çözmenin yollarını bulmanın zor olabildiği vurgulanıyor.
- Çeşitli sorun durumları ve bunların çözümleri sade İngilizceyle açıklanıyor.
-
Sorun durumları ve çözüm yolları
-
Yanlış bir işlemi geri almak istediğinizde
git reflogkullanarak önceki işlemlerin listesini kontrol edin vegit reset HEAD@{index}ile istediğiniz noktaya geri dönün.
-
Commit’ten sonra küçük bir değişiklik gerektiğinde
- Değişiklikten sonra
git add .vegit commit --amend --no-editkullanarak değişiklikleri son commit’e ekleyin. - Dikkat: Herkese açık commit’leri değiştirmeyin.
- Değişiklikten sonra
-
Son commit mesajını değiştirmek istediğinizde
- Mesajı değiştirmek için
git commit --amendkullanın.
- Mesajı değiştirmek için
-
Yanlış branch’e commit attığınızda
- Yeni bir branch oluşturun,
git reset HEAD~ --hardile master branch’ten commit’i kaldırın, ardından yeni branch’e geçerek commit’i koruyun.
- Yeni bir branch oluşturun,
-
diffkomutu çalışmadığında- Stage’e alınmış dosyaların farklarını görmek için
git diff --stagedkullanın.
- Stage’e alınmış dosyaların farklarını görmek için
-
Önceki bir commit’i geri almak istediğinizde
git logile commit’i bulun vegit revert [saved hash]kullanarak ilgili commit’i geri alın.
-
Dosya değişikliklerini geri almak istediğinizde
git logile önceki commit’i bulun vegit checkout [saved hash] -- path/to/fileile dosyayı geri alın.
-
-
Diğer
- Repository’yi başlangıç durumuna döndürmek istediğinizde
- Uzak repository ile senkronize olmak için
git fetch origin,git checkout master,git reset --hard origin/masterkullanın. - İzlenmeyen dosya ve dizinleri silmek için
git clean -d --forcekullanın.
- Uzak repository ile senkronize olmak için
- Repository’yi başlangıç durumuna döndürmek istediğinizde
-
Dikkat edilmesi gerekenler
- Bu sitenin kapsamlı bir başvuru kaynağı olmadığı ve farklı yöntemlerin bulunabileceği belirtiliyor.
- Çeviriye katkıda bulunan birçok kişiye teşekkür ediliyor.
1 yorum
Hacker News görüşleri
git checkoutyerinegit switchkullanmak daha iyireset --hardkomutundan kaçınılması ve yanlış branch'e commit atıldığında sorunu çözmek için yeni bir branch oluşturma yöntemi öneriliyorcherry-pickkullanımı öneriliyorgit reflogifadesini yanlışlıkla "re-flog" diye algıladığı için akılda tutmak zor geliyorgit commitin anlamsız olduğunu düşünüyor