Bitbucket में दो संशोधनों की तुलना कैसे करें?


126

मेरी टीम हमारे गिट रिपॉजिटरी के लिए Bitbucket का उपयोग कर रही है और हमने हाल ही में कोड समीक्षा के लिए पुल अनुरोध कार्यक्षमता का उपयोग करना शुरू कर दिया है। यह पहली समीक्षा पर ठीक काम करता है, लेकिन अगर यह कई पुनरावृत्तियों (यानी, परिवर्तन किए गए हैं और अनुरोध को अद्यतन किए गए हैं) के माध्यम से चला जाता है, तो मैं अंतिम कोड समीक्षा के बाद से किए गए नए परिवर्तनों के साथ एक लिंक देखना चाहूंगा।

मैंने "तुलना" कार्यक्षमता में देखा, लेकिन यूआई ऐसा लगता है कि यह केवल शाखाओं के बीच तुलना कर सकता है। क्या दो तरीकों के बीच अंतर पाने का एक सरल तरीका है?


जवाबों:


99

यह पहले से दिए गए उत्तरों के लिए एक मामूली संशोधन है, लेकिन #commits के बजाय अंत में #diff जोड़ना आमतौर पर वही है जो मैं खोज रहा हूं। जैसा कि अन्य लोगों ने उल्लेख किया है कि मेरे लिए सबसे अच्छे परिणाम आम तौर पर नए कमिट पहले और पुराने एक सेकंड रखकर प्राप्त किए जाते हैं, लेकिन यह आपकी विशेष जरूरतों पर निर्भर करेगा।

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

2
काश वे कुछ सहज ज्ञान युक्त gui जोड़ने के लिए प्रतिबद्ध प्रतिबद्ध संशोधन (gerrit के समान)
dolbi

1
मैंने इस उत्तर को आज बिना सफलता के आजमाया। क्या कोई यह सत्यापित कर सकता है कि यह अभी भी Bitbucket के वर्तमान संस्करण के साथ मान्य है?
मार्टिन स्टेलबर्ग

मैंने कछुए की परियोजना से दो कमिट्स के साथ यह कोशिश की और यह अभी भी काम करता है। यहाँ एक उदाहरण लिंक दिया गया है: bitbucket.org/tortoisehg/thg/branches/compare/…
रात उल्लू

1
बढ़िया काम किया। सम्मिलित किया गया owner/repo, कमेटी-सूची, हिट दर्ज, और बैम से हैश की नकल की। अच्छा और आसान दृश्य। 👍 (क्यों यह उनके जीयूआई में एक स्पष्ट बात नहीं है ...)
Svish

1
@NightOwl - क्या आप Stash / bitbucket सर्वर का उपयोग कर रहे हैं? यदि हां, तो यह केवल bitbucket.org पर काम करता है - jira.atlassian.com/browse/BSERV-2550
Cinderhaze

25

कुछ इस तरह की कोशिश करें:

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

से लिया गया: https://bitbucket.org/site/master/issue/4779/ability-to-diff-between-any-two-commits


1
संस्करण 4.14 में काम नहीं करता है। जब आप compare/उपरोक्त सहित कुछ भी जोड़ते हैं तो एक डेड लिंक त्रुटि देता है ।
जूहा अनटाइनन

Bitbucket.org/site/master/issues/11657/… में उल्लिखित अन्य वाक्यविन्यास के साथ ही जो कि केवल एक सामान्य 404 और इसके तहत पथ देता है।
जूहा अनटाइनन

25

Bitbucket अब टैग्स की तुलना करने का समर्थन करता है।

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

1
यह मुझे एक पृष्ठ देता है लेकिन TAGS के बीच एक अंतर नहीं करता है, जो कि मैं देख रहा था
tristanbailey

4
पश्चात के लिए, यह काम करता है, लेकिन tag1"v" से शुरू होना चाहिए और नया होना चाहिए, tag2पुराना है। उदाहरण के लिए, bitbucket.org/codsen/array-includes-with-glob/branches/compare/… - अन्य तरीके से काम नहीं करेगा और "v" के बिना यह काम नहीं करेगा - दोनों मामलों में 404 तक ले जाएगा
revelt

यही चाल चली। https://bitbucket.org/<OWNER>/<PROJECT>/branches/compare/<TAG1>%0D<TAG2>?w=1#diffयह अंतर दिखाता है और व्हॉट्सएप मतभेदों को नजरअंदाज करता है।
दामोदर बशयाल

25

Bitbucket.org पर तुलना पृष्ठ पर शाखा / टैग ड्रॉपडाउन में खोज फ़ील्ड अब पेस्ट-इन प्रतिबद्ध हैश का समर्थन करता है।

तो अब आप बस https://bitbucket.org/<owner>/<repo>/branches/compare/URL हैकिंग के बजाय ड्रॉपडाउन में हैश पेस्ट कर सकते हैं !

नीचे गिरा, फिर प्रतिबद्ध हैश में पेस्ट करें


यह मेरे लिए काम करता है लेकिन मुझे पहले के उत्तर के अनुसार #diff के बजाय #diff में समाप्त होने के लिए url को संपादित करने की आवश्यकता थी, अन्यथा इसमें कोई परिवर्तन नहीं दिखा।
मिका

@ brian.keng क्या आप इसे सही उत्तर के रूप में चिह्नित कर सकते हैं?
अहमद हसन

10

मेरे पास बिटबकेट सर्वर है, संस्करण: v4.4.1

मेरे साथ जवाब यही था।

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

मैं इस जवाब की तलाश में था क्योंकि मेरी परियोजना में हम git सबमॉड्यूल्स का उपयोग करते हैं, और पुल अनुरोधों में मैं केवल प्रत्येक सबमॉड्यूल के पुराने प्रतिबद्ध श बनाम बनाम नए बदलाव देख सकता हूं जो बदल गया। इस भिन्न दृश्य में कूदने के लिए क्लिक या कुछ भी (जो मुझे पता है) का कोई लिंक नहीं है। यह url मुझे यह देखने की अनुमति देता है कि क्या सबमॉड्यूल में भी बदलाव आया है।

Btw, अगर किसी को एक पुल अनुरोध के दौरान submodules में दो कमिट्स की तुलना करने का एक बेहतर तरीका पता है, तो कृपया मुझे बताएं।


13
यह सब मेरे लिए, Bitbucket Server v4.9.0 पर करता है, पहला कमिटमेंट दिखाता है। यह संशोधन की तुलना नहीं करता है।
जेफ

@ जेफ़ ने क्या आपने <पुराने> को <नया> में बदलने की कोशिश की है, हो सकता है कि मैंने उन्हें मिलाया हो, अगर ऐसा है, तो मैं अपना जवाब सही करूंगा
santiago arizti

1
हाँ, एक ही मुद्दा। वास्तव में, नवंबर 2016 (इस महीने) के अनुसार, एटलसियन कह रहा है कि यह सुविधा अभी तक बिटबकैट सर्वर में समर्थित नहीं है: jira.atlassian.com/plugins/servlet/mobile#issue/BSERV-2550 । क्या आप सुनिश्चित हैं कि यह वही कर रहा है जो आपको लगता है कि यह आपके सिस्टम पर है?
जेफ

मुझे यह टैग के लिए एक sudo के लिए काम करने के लिए मिला, प्रत्येक टैग के लिए प्रतिबद्ध हैश लेकर
tristanbailey

5

बिटबकेट तुलना दृश्य प्रारूप निम्नलिखित है:

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

एक उदाहरण दिया ged/ruby-pg(रूबीगैम, एक रूबी लाइब्रेरी):

दो रिलीज (v0.18.1 से v0.18.2 तक) की तुलना करने के लिए

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

दो संशोधनों की तुलना करने के लिए (f97dd6c से 22a3612 तक)

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


4

अपने बिटबकेट रिपॉजिटरी> शाखाओं पर जाएं यहाँ छवि विवरण दर्ज करें

मेनू आइकन पर क्लिक करें और तुलना करें



0

आप जो तुलना करना चाहते हैं, उसके लिए एक लाइट टैग बनाएं। git -a [tagname] [प्रतिबद्ध_शा]

फिर बिटबकैट में, तुलना मेनू में (पुल अनुरोध करने के लिए) केवल टैग के साथ तुलना करें।


0

आप यह भी एक पुल अनुरोध के अंदर कर सकते हैं, कहते हैं कि समीक्षा निष्कर्षों को ठीक करने के लिए किसी को एक शाखा को धक्का देने के बाद। मेरी जानकारी के लिए अभी तक इसके लिए कोई UI नहीं है, लेकिन आप इस तरह url दर्ज कर सकते हैं:

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


0

कमांड प्रॉम्प्ट पर

git log -p -1

यह पिछले संस्करण के साथ तुलना दिखाता है।

git log -p -5

यह पिछले 5 संशोधनों को दर्शाता है, दो क्रमिक संस्करणों (एन एंड एन -1, एन -1 और एन -2, आदि) की तुलना करता है।

मुझे एहसास है, यह दो विशिष्ट संस्करणों के बीच सीधा अंतर दिखाने के लिए आदर्श नहीं है।

संदर्भ। https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History


-4

वाया टर्मिनल, अपने प्रोजेक्ट पथ पर गिट चलाएं:

git diff <new commit> <old commit>

उदाहरण के लिए: git diff 26cf60f be5f978


2
यह है कि कमांड लाइन पर गिट के साथ चीजों की तुलना कैसे करें; सवाल यह था कि इसे बिटकबेट में कैसे किया जाए, वेबसाइट पर :)
मार्क VY

बिटकॉइन में ये विशेषताएं नहीं हैं .. इसलिए cmd लाइन ही एकमात्र रास्ता है ..
सिद्धार्थ

यह उत्तर मुझे सबसे उपयोगी लगा। इस सवाल से सहमत हैं कि बिटबकैट और यह जवाब एक समाधान प्रदान करता है जो बिटकॉइन के साथ अच्छी तरह से काम करता है और अन्य गिट समाधान भी था।
ptsw
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.