Saya punya file foo.txt
di cabang A
, dan saya ingin memeriksa foo.txt
dari cabang B
ke dalam indeks. Di baris perintah, saya akan melakukan ini:
$ git checkout B -- foo.txt
Saya ingin dapat melakukan ini di magit dengan masuk ke log, menemukan komit yang saya tertarik (misalnya l o B
), menemukan foo.txt
, dan menjalankan beberapa perintah, tetapi saya tidak tahu bagaimana melakukannya.
Jawaban:
Pada magit 2.11.0 ini dimungkinkan secara langsung dari dispatcher reset (
X f
dan Anda dapat menentukan revisi dan file):Ini dapat dilakukan secara terprogram dalam penggunaan magit
magit-file-checkout
yang menerima spesifikasi versi dan nama file (berkat permintaan fitur @Emoses 'dan implementasi @Kyle Meyer). Sebelumnya fungsinya dinamaimagit-checkout-file
(from v2.3.0 - v2.9.0).sumber
magit-checkout-file
sekarang sudah usang. Gunakanmagit-file-checkout
sebagai gantinya.Saya tidak mengetahui cara builtin untuk melakukan ini.
Dengan asumsi Anda berada di cabang A, pendekatan lain adalah dengan diff cabang B (
d r ..B
), dan kemudian pindahkan titik ke file yang Anda minati. Menekana
akan menerapkan perubahan tersebut ke pohon kerja (bukan indeks).Saya memiliki perintah dalam konfigurasi saya untuk mengatur ulang atau checkout file dari revisi, tetapi, dalam kondisi saat ini, itu tidak sesuai persis dengan apa yang Anda minta karena itu tidak akan menawarkan standar revisi yang baik ketika di Magit Revision mode.
sumber