Bitbucket'ta iki revizyon nasıl karşılaştırılır?


126

Ekibim git veri havuzumuz için Bitbucket kullanıyor ve kısa süre önce kod incelemeleri için çekme isteği işlevini kullanmaya başladık. İlk incelemede iyi çalışıyor, ancak birden çok yinelemeden geçerse (yani, değişiklikler yapılır ve çekme isteği güncellenirse), yalnızca son kod incelemesinden bu yana yapılan yeni değişiklikleri içeren bir bağlantı görmek isterim.

"Karşılaştırma" işlevine baktım, ancak kullanıcı arayüzü yalnızca şubeler arasında karşılaştırma yapabiliyor gibi görünüyor. İki kaydetme arasında fark elde etmenin basit bir yolu var mı?


Giriş içine çekme istekleri ile çalışan veya taahhüt düzey inceleme 4.8 bitbuckt yeni bir özelliktir
surfmuggle

Yanıtlar:


99

Bu, zaten verilen cevaplarda küçük bir değişikliktir, ancak genellikle aradığım şey #commits yerine #diff'in sonuna eklenmesi. Ayrıca başkalarının da bahsetmiş olabileceği gibi, benim için en iyi sonuçlar genellikle yeni commit'i önce ve daha eski olanı bir saniye yerleştirmekle elde edilir, ancak bu sizin özel ihtiyaçlarınıza bağlı olacaktır.

https://bitbucket.org/<OWNER>/<REPO>/branches/compare/<commit-hash>..<commit-hash-older>#diff

2
Keşke commit revizyonunu takip etmek için bazı sezgisel kullanıcı
arayüzü

1
Bu cevabı bugün başarısızlıkla denedim. Bitbucket'ın mevcut sürümüyle hala geçerli olduğunu doğrulayan var mı?
Martin Stålberg

Bunu tortoisehg projesinden iki taahhütle denedim ve hala işe yarıyor gibi görünüyor. İşte örnek bir bağlantı: bitbucket.org/tortoisehg/thg/branches/compare/…
Night Owl

1
Harika çalıştı. Eklendi, kayıt owner/repolistesinden hash'leri kopyaladı, enter tuşuna basın ve bam. Güzel ve kolay fark görünümü. 👍 (Ancak bu neden GUI'lerinde bariz bir şey değil ...)
Svish

1
@NightOwl - Stash / bitbucket sunucusu mu kullanıyorsunuz? Öyleyse, bu yalnızca bitbucket.org
jira.atlassian.com/browse/BSERV-2550

25

Şöyle bir şey dene:

https://bitbucket.org/<OWNER>/<PROJECT>/branches/compare/<commit1>..<commit2>#commits

Alınan: https://bitbucket.org/site/master/issue/4779/ability-to-diff-between-any-two-commits


1
4.14 sürümünde çalışmaz. compare/Yukarıdakileri ekledikten sonra herhangi bir şey eklediğinizde Dead Link hatası verir .
Juha Untinen

Bitbucket.org/site/master/issues/11657/… ' de bahsedilen ve sadece genel bir 404 ve altındaki yolu veren diğer sözdizimi ile aynıdır .
Juha Untinen

25

Bitbucket artık etiketleri karşılaştırmayı destekliyor.

https://bitbucket.org/<OWNER>/<PROJECT>/branches/compare/<tag1>%0D<tag2>

1
Bu bana bir sayfa veriyor, ancak TAGS arasında bir fark yok, aradığım şey buydu
tristanbailey

4
Gelecek nesil için işe yarıyor, ancak tag1"v" ile başlamalı ve daha yeni olmalı, tag2daha eskidir. Örneğin, bitbucket.org/codsen/array-includes-with-glob/branches/compare/… - diğer yollar işe yaramaz ve "v" olmadan çalışmaz - her iki durum da
404'e

Bu hile yaptı. https://bitbucket.org/<OWNER>/<PROJECT>/branches/compare/<TAG1>%0D<TAG2>?w=1#diffBu, farkı gösterir ve boşluk farklılıklarını yok sayar.
Damodar Bashyal

25

Bitbucket.org'daki Karşılaştır sayfasındaki dal / etiket açılır listelerinde bulunan arama alanları artık yapıştırılan kaydetme karmalarını desteklemektedir.

Artık https://bitbucket.org/<owner>/<repo>/branches/compare/URL kesmek yerine, hash'leri açılır menülere gidip yapıştırabilirsiniz!

açılır, ardından commit karmasını yapıştırın


Bu benim için işe yaradı, ancak url'yi #commits yerine #diff ile bitecek şekilde düzenlemem gerekiyordu, aksi takdirde hiçbir değişiklik göstermedi.
MikeA

@ brian.keng bunu doğru cevap olarak işaretler misiniz lütfen?
Ahmed Hasn.

10

Bitbucket Sunucum var, sürüm: v4.4.1

Benimle cevap şuydu.

http://<path-to-my-server>/projects/<project-name>/repos/<repo-name>/commits/<old>?to=<new>

Bu cevabı arıyordum çünkü projemde git alt modülleri kullanıyoruz ve çekme isteklerinde yalnızca eski commit sha ile değişen her alt modülün yeni commit sha'sını görebiliyorum. Bu fark görünümüne atlamak için herhangi bir bağlantı veya (bildiğim) bir şey yok. Bu url, alt modüllerde nelerin değiştiğini de görmemi sağlıyor.

Btw, eğer birisi bir çekme isteği sırasında alt modüllerdeki iki işlemi karşılaştırmanın daha iyi bir yolunu biliyorsa, lütfen bana bildirin.


13
Bitbucket Server v4.9.0'da benim için tüm bunlar ilk commit'i göstermektir. Revizyonları karşılaştırmaz.
Jeff

@Jeff, <eski> 'ı <yeni> olarak değiştirmeyi denediniz mi? Bunları karıştırmış olabilirim, öyleyse cevabımı düzelteceğim
santiago arizti

1
Evet, aynı konu. Aslında, Kasım 2016 (bu ay) itibarıyla Atlassian, bu özelliğin Bitbucket Sunucusunda henüz desteklenmediğini söylüyor: jira.atlassian.com/plugins/servlet/mobile#issue/BSERV-2550 . Sisteminizde olduğunu düşündüğünüz şeyi yaptığından emin misiniz?
Jeff

Bunu, her etiket için commit karmasını alarak etiketler için bir sudo için işe yaradığını buldum
tristanbailey

5

Bitbucket karşılaştırma görünüm biçimi aşağıdaki gibidir:

https://bitbucket.org/<owner>/<repo>/branches/compare/<new>%0D<old>

Bir örnek verildiğinde ged/ruby-pg(RubyGem, bir Ruby kitaplığı):

İki sürümü karşılaştırmak için (v0.18.1'den v0.18.2'ye)

https://bitbucket.org/ged/ruby-pg/branches/compare/v0.18.2%0Dv0.18.1

İki düzeltmeyi karşılaştırmak için (f97dd6c'den 22a3612'ye)

https://bitbucket.org/ged/ruby-pg/branches/compare/22a361201fd1d387d59a066b179124694a446f38%0Df97dd6cb4f34da6a62c4339887249115c7c25b9c


4

Bitbucket deponuza gidin> Dallar görüntü açıklamasını buraya girin

Menü simgesine ve karşılaştırmaya tıklayın



0

Karşılaştırmak istediğiniz işlemlere hafif bir etiket oluşturun. git -a [tagname] [commit_sha]

Daha sonra Bitbucket'ta, karşılaştırma menüsünde (çekme istekleri yapılacak olan) basitçe etiketlerle karşılaştırın.


0

Bunu, bir kişi inceleme bulgularını düzeltmek için bir şubeye ittiğinde, örneğin bir çekme isteğinin içinde de yapabilirsiniz. Bildiğim kadarıyla bunun için henüz kullanıcı arayüzü yok, ancak url'yi şöyle girebilirsiniz:

https://<bitbucket-server>/projects/<PROJECT>/repos/<REPO>/pull-requests/<PR-NUM>/<commit-hash>?since=<commit-hash-older>



-4

Terminal aracılığıyla, proje yolunuzda git'i çalıştırın:

git diff <new commit> <old commit>

Ör: git diff 26cf60f be5f978


2
Komut satırında git ile işleri böyle karşılaştırabilirsiniz; soru, web sitesinde Bitbucket'ta nasıl yapılacağıydı :)
Mark VY

bitbucket bu özelliklere sahip değildir .. bu nedenle cmd satırı tek yoldur ..
Siddharth

En yararlı bulduğum cevap buydu. Soru bitbucket durumlarını kabul etti ve bu yanıt, diğer git çözümlerinin yanı sıra bitbucket ile iyi çalışan bir çözüm sağlıyor.
ptsw
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.