Git reset --hard origin / master'nin anlamı nedir?


224

Bir yaptım git pullve bir hata aldım:

Aşağıdaki çalışma ağacı dosyalarının üzerine birleştirme ile yazılır ... Birleştirme işleminden önce lütfen bunları taşıyın veya kaldırın.

Bu sorunu çözmek için aşağıdakileri yaptım:

git fetch
git reset --hard origin/master

Şimdi yaptığımda git pull , her şey güncel. Bu komutları çalıştırdığımda tam olarak ne olduğunu bilmek istiyorum. git fetchYerel repo ile birleştirmeden değişiklikleri uzaktan repodan aldığını biliyorum .

Anlamı nedir git reset --hard origin/master? O nasıl çalışır?

Yanıtlar:


417
git reset --hard origin/master

diyor ki: tüm aşamalı ve değişmemiş değişikliklerimi at, mevcut yerel şubemdeki her şeyi unut ve tam olarak aynı yap origin/master.

Muhtemelen komutu çalıştırmadan önce bunu sormak istediniz. Yıkıcı doğaya "sert sıfırlama" ile aynı kelimeler kullanılarak değinilmektedir.


9
Düğmesini kullanarak bu hareketi geri alabilirsiniz git reset --hard HEAD@{1}. HEAD@{1}durumdan duruma değişir, bu nedenle arama yapmanız önerilir git reflog.
Nils Werner

2
@ NilsWerner'ın hareketi geri alma yönteminin aşamalı ve işaretsiz değişiklikleri geri yüklemediğini unutmayın. Bunlar iyiye gitti.
Michael Anderson

3
Aşamalı dosyalar hala bulunabilir git fsck --lost-found, ancak orijinal dosya yollarına eklenmez ve sıralanmaları zor olabilir.
CB Bailey

1
Yerel ana dalınızda, yerel ana dalınız yerine (belki de yanlışlıkla) değişiklik yaptıktan sonra yerel ana dalınızı başlangıç ​​/ ana konumuna sıfırlamak genellikle yararlıdır. En son taahhütleriniz için yerel bir şube oluşturun ve ardından yerel master'ınızı orijin / master'a sıfırlayın. Daha sonra gerektiğinde dalınızı master'dan birleştirebilir veya yeniden oluşturabilirsiniz.
Mike Hopper

2
lol "ima etti" açık ya da açık hiçbir yerde olmadığı gibi, bunu açıklamak için harika bir yoldur
Ben Sandeen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.