Kullanıcı Aletleri

Site Aletleri


tr:cs:git:workflow

Farklar

Bu sayfanın seçili sürümü ile mevcut sürümü arasındaki farkları gösterir.

Karşılaştırma görünümüne bağlantı

İki taraf da önceki sürümÖnceki sürüm
Sonraki sürüm
Önceki sürüm
tr:cs:git:workflow [2026/03/07 18:31] ulascemhtr:cs:git:workflow [2026/03/07 18:48] (mevcut) ulascemh
Satır 47: Satır 47:
 Sen bir dalda çalışırken ana dalda değişiklikler olmuş olabilir. Gerek sen veya bir ekip üyesi değişiklik gerçekleştirmiş olabilir. **Merge** senin dalını ve ana dalını alır, ikisinin son hallerini birleştirip **Merge commit** adında yeni bir kayıt oluşturur. Sen bir dalda çalışırken ana dalda değişiklikler olmuş olabilir. Gerek sen veya bir ekip üyesi değişiklik gerçekleştirmiş olabilir. **Merge** senin dalını ve ana dalını alır, ikisinin son hallerini birleştirip **Merge commit** adında yeni bir kayıt oluşturur.
  
-<WRAP info>+<WRAP help>
 **Ne zaman kullanılır?** **Ne zaman kullanılır?**
  
Satır 65: Satır 65:
 git merge <DAL_ADI> # Birleştir. git merge <DAL_ADI> # Birleştir.
 </code> </code>
- 
-^ ''git status'' | //Projenin o anki durumunu, değişen veya yeni eklenen dosyaları gösterir.// | 
-^ ''git status'' | //Projenin o anki durumunu, değişen veya yeni eklenen dosyaları gösterir.// | 
-^ ''git status'' | //Projenin o anki durumunu, değişen veya yeni eklenen dosyaları gösterir.// | 
  
 ==== Git Rebase ==== ==== Git Rebase ====
Satır 74: Satır 70:
 Senin dalının başlangıç noktasını alır, main dalının en son haline taşır. Yani "Ben projeye dün başlamıştım ama sanki bugün, herkesin son kodunun üzerine başlamışım gibi tarihçeyi yeniden yaz" der. Senin dalının başlangıç noktasını alır, main dalının en son haline taşır. Yani "Ben projeye dün başlamıştım ama sanki bugün, herkesin son kodunun üzerine başlamışım gibi tarihçeyi yeniden yaz" der.
  
-<WRAP info>+<WRAP help>
 **Ne zaman kullanılır?** **Ne zaman kullanılır?**
  
Satır 99: Satır 95:
 ==== Git Squash ==== ==== Git Squash ====
  
 +Kendi dalında çalışırken ufak tefek bir sürü commit atmış olabilirsin ("buton eklendi", "renk düzeltildi", "yazım hatası", "çalışmıyor deneme 1"). Bu gereksiz kalabalığı ana projeye atmadan önce, hepsini tek bir anlamlı commit ("Login Ekranı Tamamlandı") haline getirme işlemidir.
  
 +<WRAP help>
 +**Ne zaman kullanılır?**
  
 +Özellik geliştirme bittiğinde, PR (Pull Request) açmadan hemen önce geçmişi temizlemek için.
 +</WRAP>
  
 +  - Kaç commit geriye gideceğini belirle (örneğin son 3 commit): ''git rebase -i HEAD~3''
 +  - Karşına bir metin editörü açılır. En üstteki commit pick olarak kalır, altındakilerin başındaki pick yazısını silip ''squash'' (veya sadece ''s'') yazıp kaydedersin.
 +  - Git sana yeni bir birleştirilmiş mesaj girmen için bir ekran daha açar. Mesajı yazar ve kaydedersin. Boom! 3 commit tek commit oldu.
  
 +<WRAP info>
 +Not: GitHub üzerinden "Squash and Merge" butonuna basmak, bu işlemi otomatik yapmanın en kolay ve popüler yoludur
 +</WRAP>
  
 +===== Acil Durumlarda Kullanılan Komutlar =====
  
- +^ Kod ^ Açıklama ^ 
 +^ ''git stash'' | Çalışıyorsun ama işin bitmedi. Acilen başka bir dala geçmen gerekti. Mevcut değişikliklerini geçici olarak bir "çekmeceye" atar. Çalışma alanın temizlenir. | 
 +^ ''git stash pop'' | Çekmeceye attığın yarım kalan kodları geri getirir. | 
 +^ ''git reset HEAD~1'' | Yaptığın son commit'i iptal eder ama kodlarını silmez. (Yanlışlıkla commit atarsan kurtarıcıdır). | 
 +^ ''git reset --hard HEAD~1'' | 🚨 TEHLİKELİ! Son commit'i VE yazdığın kodları tamamen siler, geri getirilemez. | 
 +^ ''git revert <COMMIT_ID>'' | Hatalı bir commit'i silmez, ancak o commit'in yaptıklarının tam tersini yapan yeni bir commit atar. Ortak çalışılan public dallarda hata düzeltmenin en güvenli yoludur.. |
  
  
Satır 114: Satır 126:
 https://wiki.ulascemh.com/doku.php?id=tr:cs:git:workflow https://wiki.ulascemh.com/doku.php?id=tr:cs:git:workflow
 </wrap> </wrap>
 +
 +
 +
tr/cs/git/workflow.1772908294.txt.gz · Son değiştirilme: 2026/03/07 18:31 Değiştiren: ulascemh