Eğer çalıştığınız proje üstünde birden fazla kişi varsa, yapıp yolladığınız değişiklikleri de aynı yerlerde yaptığınız oluyorsa, versiyonların karışması durumu sıklıkla karşınıza gelebilir. Bu karışma işleminin belli tipleri olsa da, bugün sadece çözme işlemi sırasında nasıl "Benimkini boşver ya da sakla, sunucudaki çekip onu kullanayım." dersiniz onu göstereceğim. Öncelikle eğer yaptığınız yerel değişiklikleri yedek bir dallanmada tutmak isterseniz şunu yapın:
git checkout master
git branch yedekBranch
Bu kısımdan sonra yaptığınız tüm değişiklikler yok olacaktır. Git tarafından takip edilmeyen dosyalara tabii ki bir şey olmaz, eğer proje dosyalarınızın etrafında olsalar bile silinmezler ama takip edilenler sunucudan gelenlerle değiştirilir. Yapacağınız şey fetch ile son versiyonu yakalamak ve yerel branch inize reset atmak, burada branchinizin adının master olduğunu varsayıyorum:
git fetch --all
git reset --hard origin/master
Tabii ki eğer tüm branchleri yakalamıyayım "--all" ve zaten benim branch imin ismi de farklı derseniz, bunu da yazabilirsiniz:
git fetch origin kendiBranch
git reset --hard origin/kendiBranch
Bu işlemi biraz uğraşarak git pull, git merge ve git clean kombinasyonlarını kullanarak yapma ihtimaliniz de var ama üstteki yöntem daha temiz çözüm sağlıyor diye düşünüyorum.