Saya perlu membuat diff untuk satu file yang akan menunjukkan perbedaan antara dua versi, yang sebenarnya adalah tag di github. Saya kemudian ingin mengirim diff ini ke seseorang melalui email sehingga URL github untuk diff akan ideal. Tampilan perbandingan github memungkinkan saya melakukan ini untuk semua file yang diubah, tetapi itu tidak bagus karena ada ribuan file di repo saya.
Saya dapat melakukan ini di baris perintah sebagai berikut, tetapi ini tidak membantu karena saya perlu mengirim diff ke seseorang melalui email:
git diff tag1 tag2 -- path/to/file
Saya menemukan versi baris perintah yang dibahas di sini: bagaimana saya bisa melihat perbedaan dalam file yang ditentukan antara cabang lokal dan cabang jarak jauh?
https://github.com/{user}/{repository}/compare/{from-tag}...{until-tag}.diff
SumberBerikut adalah solusi saya ketika masalah berikut berlaku.
Salin tampilan mentah dari file yang ingin Anda bandingkan dengan https://gist.github.com/ . Gunakan dua titik komit spesifik yang ingin Anda bandingkan. Mulailah dengan komit yang lebih lama.
https://gist.github.com/ memiliki tampilan berbeda berdampingan yang bagus saat Anda mengeklik 'Revisi'.
sumber
Jawaban adalah untuk orang-orang yang hanya ingin melihat (Tidak mengunduh) sejarah / pemulihan perubahan kode file di Halaman WEB GITHUB untuk check in sebelumnya.
Buka file itu di github, lalu pilih SEJARAH . Ini akan membuka halaman dengan daftar link komentar checkin seperti di bawah ini.
Saat mengklik itu akan menunjukkan perubahan kode. Setelah mengklik sejarah; Anda dapat mengklik paket untuk melihat tingkat paket semua file yang masuk.
Di eclipse Anda dapat membandingkan sejarah menggunakan plugin EGit dan "Klik kanan -> Bandingkan dengan" pada file. Bagaimana cara membandingkan dua revisi di git di Eclipse?
sumber
Saya menggunakan jawaban nulltoken untuk menyusun skrip kenyamanan sederhana untuk menarik perbedaan antara dua komit di GitHub dari baris perintah.
Anda dapat menemukan skrip lengkapnya di intinya , tetapi berikut adalah bagian yang bagus:
Itu menerima sebagai cabang argumen, komit, dan apa pun yang dapat diselesaikan oleh
git rev-parse
. Saya menggunakanopen
, yang hanya berfungsi di macOS untuk membuka halaman web, jadi jika Anda berada di lingkungan yang berbeda, Anda pasti ingin mengubahnya.Seperti jawaban nulltoken, untuk menunjuk ke satu file di diff, Anda harus mengklik judul file untuk membuat string jangkar muncul di bilah url, yang kemudian dapat Anda salin.
sumber
Karena ini masih tidak mungkin, inilah metode alat-diff berbasis browser. Itu tidak memanfaatkan otomatisasi tetapi hanya membutuhkan kemampuan untuk menginstal ekstensi Chrome:
sumber