Kullanacağım git restore(git 2.23'ten beri mevcut)
git restore --source otherbranch path/to/myfile.txt
Neden diğer seçeneklerden daha iyi?
git checkout otherbranch -- path/to/myfile.txt- Dosyayı çalışma dizinine değil aynı zamanda hazırlama alanına da kopyalar (bu dosyayı elle kopyalayıp yürütür git addgibi). git restoreevreleme alanına dokunmaz ( --stagedseçeneğe göre belirtilmedikçe).
git show otherbranch:path/to/myfile.txt > path/to/myfile.txtstandart kabuk yönlendirmesini kullanır. Powershell'i kullanırsanız, metin geliştirme ile ilgili bir sorun olabilir veya ikili dosya bozuksa alabilirsiniz . git restoreDosyaları değiştirme ile tüm gitçalıştırılabilir tarafından yapılır .
Başka bir avantaj, tüm klasörü şu şekilde geri yükleyebilmenizdir:
git restore --source otherbranch path/to
veya git restore --overlay --source otherbranch path/todosyaları silmekten kaçınmak istiyorsanız ile. Örneğin otherbranch, geçerli çalışma dizinindekinden daha az dosya varsa (ve bu dosyalar izlenirse ) --overlayseçeneği olmadan git restorebunları siler. Ama bu iyi bir varsayılan bahaviour, büyük olasılıkla dizin durumunun otherbranch"aynı değil, mevcut şubemdeki ek dosyalarla" olduğu gibi olmasını istersiniz.