Lebih
Ada yang cepat Git perintah untuk melihat versi lama dari file?
Apakah ada perintah Git untuk melihat (baik dibuang ke stdout, atau di $PAGER
atau $EDITOR
) versi tertentu dari sebuah file tertentu?
1424
9
Anda dapat menggunakan git
show
:Mengganti REVISI dengan revisi yang sebenarnya (bisa Git commit SHA, tag nama, nama cabang, relatif komit nama, atau dengan cara lain mengidentifikasi komit dalam Git)
Misalnya, untuk melihat versi dari file
src/main.c
dari 4 melakukan yang lalu, menggunakan:Perhatikan bahwa jalur dari akar repositori kecuali dimulai dengan ./ atau ../ untuk menunjukkan path relatif. Git untuk Windows membutuhkan garis miring ke depan bahkan di path relatif ke direktori saat ini. Untuk informasi lebih lanjut, lihat man page untuk
git-show
.Lakukan ini dengan upload akan terlihat seperti ini:
Perhatikan bahwa
KEPALA@{2013-02-25}
berarti "di mana KEPALA pada 2013-02-25" dalam repositori ini (menggunakan yang reflog), bukan "komit terakhir sebelum 2013-02-25 di cabang ini dalam sejarah".Jika anda suka Gui, anda dapat menggunakan gitk:
gitk /path/ke/file
Memilih revisi di bagian atas layar, misalnya dengan deskripsi, atau tanggal. Secara default, bagian bawah layar menunjukkan diff untuk yang revisi, (sesuai dengan "patch" tombol radio).
Untuk melihat file untuk revisi yang dipilih:
Anda juga dapat menentukan
melakukan hash
(sering juga disebutkomit ID
) dengangit show
command.Singkatnya
git show <commitHash>:/path/ke/file
Langkah demi langkah
git log /path/ke/file
melakukan hash
sepertimelakukan 06c98...
(06c98... yang melakukan hash)melakukan hash
menggunakan
melakukan hash tentu langkah 3 &path/ke/file
dari langkah 1.Catatan: menambahkan
./
ketika menentukan path relatif tampaknya penting, yaitugit show b2f8be577166577c59b55e11cfff1404baf63a84:./flight-simulation/src/main/components/nav-horiz.html
.Selain untuk Jim Hunziker's jawaban,
anda dapat mengekspor file dari revisi sebagai,
Semoga ini bisa membantu :)
git log -p
akan menunjukkan anda tidak hanya melakukan log tetapi juga perbedaan dari masing-masing melakukan (kecuali menggabungkan melakukan). Kemudian anda dapat menekan/
, masukkan nama file dan tekanenter
. Tekann
ataup
untuk pergi ke berikutnya/sebelumnya kejadian tersebut. Dengan cara ini anda tidak akan hanya melihat perubahan dalam file, tetapi juga melakukan informasi.Untuk dengan cepat melihat perbedaan dengan yang lebih tua revisi file:
Anda dapat menggunakan script seperti ini untuk membuang semua versi dari file ke file terpisah:
misalnya
Mendapatkan script berikut ini sebagai jawaban untuk pertanyaan lain yang serupa
Helper untuk mengambil beberapa file dari suatu revisi
Ketika mencoba untuk menyelesaikan menggabungkan konflik, pembantu ini sangat berguna:
GitHub upstream.
Penggunaan:
Hasil: berikut berisi versi alternatif dari file:
Dengan cara ini, anda tetap ekstensi file jadi editor anda tidak't mengeluh, dan dapat dengan mudah menemukan file lama, hanya baru satu.