Tim saya menggunakan Bitbucket untuk repositori git kami dan kami baru-baru ini mulai menggunakan fungsionalitas permintaan tarik untuk ulasan kode. Ini berfungsi dengan baik pada ulasan pertama, tetapi jika melewati beberapa iterasi (yaitu, perubahan dibuat dan menarik permintaan diperbarui), saya ingin melihat tautan hanya dengan perubahan baru yang dibuat sejak tinjauan kode terakhir.
Saya melihat ke fungsionalitas "bandingkan" tetapi UI sepertinya hanya bisa membandingkan antar cabang. Apakah ada cara sederhana untuk mendapatkan perbedaan antara dua komitmen?
Jawaban:
Ini hanya sedikit modifikasi pada jawaban yang sudah diberikan tetapi menambahkan #diff ke akhir, bukan #commits biasanya apa yang saya cari. Juga karena orang lain mungkin telah menyebutkan hasil terbaik bagi saya biasanya diperoleh dengan menempatkan komit yang lebih baru pertama dan yang lebih tua satu detik tetapi itu akan tergantung pada kebutuhan khusus Anda.
sumber
owner/repo
, disalin hash dari daftar-komit, tekan enter, dan bam. Tampilan diff yang bagus dan mudah. 👍 (Kenapa ini bukan hal yang jelas dalam GUI mereka ...)Coba sesuatu seperti:
https://bitbucket.org/<OWNER>/<PROJECT>/branches/compare/<commit1>..<commit2>#commits
Diambil dari: https://bitbucket.org/site/master/issue/4779/ability-to-diff-between-any-two-commits
sumber
compare/
memasukkan yang di atas.Bitbucket mendukung tag pembanding sekarang.
sumber
tag1
harus dimulai dengan "v" dan lebih baru,tag2
lebih tua. Misalnya, bitbucket.org/codsen/array-includes-with-glob/branches/compare/… - sebaliknya tidak akan bekerja dan tanpa "v" itu tidak akan berfungsi - kedua kasus akan mengarah ke 404.https://bitbucket.org/<OWNER>/<PROJECT>/branches/compare/<TAG1>%0D<TAG2>?w=1#diff
Ini menunjukkan perbedaan dan mengabaikan perbedaan spasi putih.Bidang pencarian di dropdown cabang / tag pada halaman Bandingkan di bitbucket.org sekarang mendukung hash komit yang disisipkan.
Jadi sekarang Anda bisa pergi ke
https://bitbucket.org/<owner>/<repo>/branches/compare/
dan tempel hash ke dropdown bukannya peretasan URL!sumber
Saya memiliki Bitbucket Server, versi: v4.4.1
Jawaban saya adalah ini.
Saya mencari jawaban ini karena dalam proyek saya, kami menggunakan git submodules, dan dalam permintaan tarik saya hanya bisa melihat koma lama sha vs komit baru sha setiap submodule yang berubah. Tidak ada tautan untuk mengklik atau apa pun (yang saya tahu) untuk beralih ke tampilan berbeda ini. URL ini memungkinkan saya untuk melihat apa yang berubah dalam submodula juga.
Btw, jika seseorang tahu cara yang lebih baik membandingkan dua komit dalam submodul selama permintaan tarik, tolong beri tahu saya.
sumber
Format tampilan perbandingan Bitbucket adalah sebagai berikut:
Diberikan contoh
ged/ruby-pg
(RubyGem, pustaka ruby):Untuk membandingkan dua rilis (dari v0.18.1 ke v0.18.2)
https://bitbucket.org/ged/ruby-pg/branches/compare/v0.18.2%0Dv0.18.1
Untuk membandingkan dua revisi (dari f97dd6c ke 22a3612)
https://bitbucket.org/ged/ruby-pg/branches/compare/22a361201fd1d387d59a066b179124694a446f38%0Df97dd6cb4f34da6a62c4339887249115c7c25b9c
sumber
PERGI ke repositori bitbucket Anda> Cabang
Klik pada ikon menu dan bandingkan
sumber
Yang berhasil untuk saya adalah https://bitbucket.org/-theusername-/-projectnamealllowercase-/branches/compare/-Leftalphanumberic_commitcode-..-Rightalphanumeric_commit-#commits
Ganti
-username-
dengan Andausername
Terima kasih kepada @Aguardientico
sumber
Buat tag ringan untuk komit yang ingin Anda bandingkan. git -a [tagname] [commit_sha]
Kemudian di Bitbucket, di menu bandingkan (yang harus melakukan permintaan tarik) cukup bandingkan dengan tag.
sumber
Anda juga dapat melakukan ini di dalam permintaan tarik, katakan setelah seseorang mendorong ke cabang untuk memperbaiki temuan ulasan. Setahu saya belum ada UI untuk ini, tetapi Anda dapat memasukkan url seperti ini:
https://<bitbucket-server>/projects/<PROJECT>/repos/<REPO>/pull-requests/<PR-NUM>/<commit-hash>?since=<commit-hash-older>
sumber
Pada prompt perintah
git log -p -1
git log -p -5
Saya menyadari, ini tidak ideal untuk menunjukkan perbedaan langsung antara dua versi spesifik.
Ref. https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
sumber
Melalui terminal, jalankan git di jalur proyek Anda:
git diff <new commit> <old commit>
Ex:
git diff 26cf60f be5f978
sumber