2013-03-15 23 views
91

Bir gitme işlemi yaptım ve bir hata aldım "Aşağıdaki çalışma ağacı dosyaları birleştirilerek üzerine yazılır ... Lütfen birleştirmeden önce bunları taşıyın veya kaldırın". Bu sorunu çözmek için ben git çekme yaptığınızda, bu date.I kadar ben bu komutları çalıştırdığınızda tam olarak ne olduğunu bilmek istediğiniz her şeyi söylüyor Şimdi aşağıdakiGit reset --hard origin/master ifadesinin anlamı nedir?

git fetch 
git reset --hard origin/master 

yaptı. Biliyorum, git fetch, yerel repo'mda birleştirmeden uzaktaki repodan değişiklikleri getiriyor.

git reset --hard origin/master ne anlama geliyor? O nasıl çalışır?

cevap

176
git reset --hard origin/master 

diyor ki:, bütün sahnelenen ve unstaged değişiklikleri atmak Mevcut yerel dal üzerinde herşeyi unutup origin/master gibi tamamen aynı yapın.

Komutu çalıştırmadan önce bunu sormak isteyebilirsiniz. Yıkıcı doğa, "sabit sıfırlama" ile aynı kelimeleri kullanarak ima edilir.

+5

Bu adımı, 'git reset --hard HEAD @ {1}' tuşunu kullanarak geri alabilirsiniz. 'HEAD @ {1}' durumdan duruma değiştiğinden, 'git reflog'da arama yapmanız önerilir. –

+0

@ NilsWerner'ın hareketi geri almanın yönteminin aşamalı ve gruplanmamış değişiklikleri geri yüklemediğini unutmayın. Bunlar iyi gitti. –

+1

Aşamalı dosyalar hala 'git fsck --lost-found' ile bulunabilir, ancak orijinal dosya yollarına eklenmezler ve sıralamak zor olabilirler. –