2010-10-16 16 views

cevap

285

yalnızca bir dosyanın üzerine yazmak isterseniz:

git fetch 
git checkout origin/master <filepath> 

Eğer tüm değiştirilen dosyaların üzerine yazmak isterseniz:

git fetch 
git reset --hard origin/master 

(Bu yerel master üzerinde çalışıyoruz varsayar ve Kökeni master - bir şube iseniz, bunun yerine yerine değiştirin.)

+0

git checkout dizinleri ile çalışır – mayu

+0

Bu tam tersini yaptı. Yerel dosyamla birlikte deponun üzerine yanlışlıkla yazdı. –

+0

'git getirme git sıfırlama - kökeni/master 'veya'/ ' –

1

Fu ll senkronizasyon birkaç görevi vardır:

  • geri döneme
  • git sıfırlama BAŞ --hard

uzak deposundan

  • son olsun yeni dosyaları kaldırarak değiştirir

    git temiz -f

    git kökeni aç ana

  • Yoksa, ne tercih ben son ile yeni bir şube oluşturabilir, yani uzaktan kullanarak:

    git checkout origin/master -b <new branch name> 
    

    kökeni benim uzaktan depo referanstır ve usta benim kabul şube adıdır . Bunlar sizinkilerden farklı olabilir.

    git checkout path/to/file:

    6

    En basit versiyonu, istediğiniz dosya üzerinde aynı dal üzerinde çalışıyoruz varsayarak.

    Bunu sık sık yapıyorum gc='git checkout' olarak ayarlanmış bir takma ad var.

    +1

    Basit, zarif ve iş yapar. Sadece daha önce gitmeyi unutmayın. –

    +1

    'Git çıkış yolu/dosya/dosya benim için çalıştı. Ayrıca, bu diyagramın kavramsal olarak ne anlama geldiğini anlamak için çok yararlı olduğunu gördüm. [Bağlantı] (http://images.osteele.com/2008/git-transport.png) –

    İlgili konular