Git'de yeniden adlandırmayı geri almanın doğru yolu nedir, örneğin:
git mv file1 file2
Git'de yeniden adlandırmayı geri almanın doğru yolu nedir, örneğin:
git mv file1 file2
Yanıtlar:
Arsız cevap:
git mv file2 file1
Hem eski hem de yeni yolların dizinini otomatik olarak günceller.
Git mv belgelerine bakın
git checkout .
, -f
seçenekle birlikte neden çalışmıyor ?
git checkout -- .
.
fatal: source directory is empty,
sadece git reset --hard
iş yaptı.
Son işlemden bu yana başka bir değişiklik (saklamak istediğiniz) yapmadıysanız,
git reset --hard
git reset --hard
. Sadece geriye doğru hareket etmek benim için daha güvenli bir seçenek gibi görünüyor.
Benim durumumda, tüm bir klasörü taşıdım, sonra olmamam gerektiğini fark ettim.
@Dave Konopka'nın cevabını gerçekten beğendim, ancak bu yaklaşımla pek başarılı olamadım (belki GIT versiyonum (1.8.4)? Dosyalarım hala silinmiş olarak gösterildi. kaybetmek (maalesef).
Bunu yaparken başarılı oldum:
git reset moved_folder
git checkout original_folder
Neyi başarmak istediğinize bağlıdır. Dosyanın hiç taşınmamış gibi görünmesini istiyorsanız, taşıma işleminden önce sıfırlayabilir (veya yeniden başlatabilirsiniz). Geçmişi umursamıyorsanız, sadece geri taşıyın.
Yanlışlıkla çok sayıda dosyayı yeniden adlandırdıysanız ve başladığınız yere geri dönmek istiyorsanız, adds
bir git status
görüşme altında görünen tüm yeniden adlandırılmış dosyaları silin .
Değiştirilen tüm dosyaları sildikten sonra git checkout -- *
, orijinal dosya adlarını yerel olarak geri almak için çalıştırabilirsiniz .
git reset HEAD file2
git checkout -- file1
rm file2
İlk komut dosya2'yi etkisiz kılar ancak bir kopyasını bu dosyada bırakır. İkinci komut orijinal dosyayı geri yükler ve üçüncü komut yeni dosyayı siler.
Kullandığım hile tüm değişiklikleri (mv'd dosyalarını geri yüklemek de dahil) geri almak için bir git stash yapmak ve sonra git stash damla ile stash sildi.
git mv file2 file1