Saya akan menggunakan git restore(tersedia sejak git 2.23)
git restore --source otherbranch path/to/myfile.txt
Mengapa lebih baik daripada opsi lain?
git checkout otherbranch -- path/to/myfile.txt- Ini menyalin file ke direktori kerja tetapi juga ke area pementasan (efek yang sama seperti jika Anda akan menyalin file ini secara manual dan dieksekusi git adddi atasnya). git restoretidak menyentuh area pementasan (kecuali jika diminta oleh --stagedopsi).
git show otherbranch:path/to/myfile.txt > path/to/myfile.txtmenggunakan pengalihan shell standar. Jika Anda menggunakan Powershell maka mungkin ada masalah dengan pengkodean teks atau Anda bisa mendapatkan file yang rusak jika itu biner . Dengan git restoremengubah file dilakukan semua oleh gitexecutable.
Keuntungan lain adalah Anda dapat mengembalikan seluruh folder dengan:
git restore --source otherbranch path/to
atau dengan git restore --overlay --source otherbranch path/tojika Anda ingin menghindari menghapus file. Misalnya jika ada lebih sedikit file otherbranchdaripada di direktori kerja saat ini (dan file-file ini dilacak ) tanpa --overlayopsi git restoreakan menghapusnya. Tapi ini adalah bahaviour default yang bagus, Anda kemungkinan besar ingin keadaan direktori sama seperti di otherbranch, bukan "sama tetapi dengan file tambahan di cabang saya saat ini"