BitBucket में पुराने कमिट के पूर्ण स्रोत तक कैसे पहुँचें?


226

मैं यह पता नहीं लगा सकता कि नए बिट-बकेट प्रारूप में किसी पुरानी कमिट के स्रोत तक कैसे पहुँचा जाए, इस बारे में डॉक्यूमेंटेशन नहीं मिल सकता है। क्या यह अब भी संभव है?


1
क्या नया प्रारूप? क्या आप मर्क्यूरियल या गिट का उपयोग कर रहे हैं? पुराने संस्करण को अपडेट करने के लिए बस Mercurial या Git क्लाइंट का उपयोग करें।
Erno

जवाबों:


369

मैं समझता हूं कि आप एक Mercurial / Git क्लाइंट का उपयोग किए बिना BitBucket वेब इंटरफ़ेस के माध्यम से एक पुराने संस्करण को डाउनलोड करना चाहते हैं।

इस संबंधित प्रश्न की जाँच करें । टिप्पणियों पर, कोई कहता है कि ऐसा करने का कोई तरीका नहीं है। सौभाग्य से, यह पूरी तरह सच नहीं है।

BitBucket प्रोजेक्ट पेज पर नेविगेट करने से, मुझे एक मनमाना संस्करण डाउनलोड करने के लिए कोई लिंक नहीं मिला। प्रारूप में विशिष्ट टैग डाउनलोड करने के लिए लिंक हैं:

https://bitbucket.org/owner/repository/get/v0.1.2.tar.gz

लेकिन ऊपर दिए गए यूआरएल को थोड़ा मोड़कर, कमिट हैश द्वारा टैग नाम को बदलना, जैसे:

https://bitbucket.org/owner/repository/get/A0B1C2D.tar.gz

आप वास्तव में एक विशिष्ट संस्करण डाउनलोड कर सकते हैं।

जैसा कि एक टिप्पणी में रक्का ने उल्लेख किया है , कार्यों .tar.gzद्वारा .zipभी प्रतिस्थापित किया गया है।


क्या मैं एंड्रॉइड स्टूडियो टर्मिनल में ऊपर दिए गए लिंक का उपयोग किसी प्रतिज्ञा के लिए कर सकता हूं? यदि हां, तो क्या आप मूल टर्मिनल कोड प्रदान कर सकते हैं?
tccpg288

1
काश वे अपनी वेबसाइट पर यह दिखाते तो यह स्पष्ट था।
रोल

1
यह प्रासंगिक क्यों नहीं है? मैंने अभी इसे फिर से (2018-08-06) परीक्षण किया और यह अभी भी काम करता है। शायद इसके साथ एक मुद्दा "घर में" BitBucket सर्वर? मैंने bitbucket.org सर्वर पर इसका परीक्षण किया ।
रूडी मटेला ०

api.bitbucket.orgअब होना चाहिए
अलेक्जेंडर मिल्स

1
पुष्टि कर सकते हैं यह अभी भी बस के साथ काम करता हैbitbucket.org
Vely

202

मैं यह पता लगाने की कोशिश कर रहा था कि क्या गीथहब पर आप पहले की तरह के कोड को ब्राउज़ करना संभव है और यह मुझे यहां लाया। मैंने यहां पाई जाने वाली जानकारी का उपयोग किया, और उरोजों के साथ चक्कर लगाने के बाद, मुझे वास्तव में पुराने कमिट्स के कोड को ब्राउज़ करने का एक तरीका मिला।

जब आप अपना कोड ब्राउज़ कर रहे हों तो URL कुछ इस प्रकार है:

https://bitbucket.org/user/repo/src/

और इस तरह अंत में एक हैश जोड़कर:

https://bitbucket.org/user/repo/src/a0328cb

आप उस कमिट के बिंदु पर कोड ब्राउज़ कर सकते हैं। मुझे समझ में नहीं आता कि सीधे कमिट चुनने के लिए कोई ड्रॉपडाउन बॉक्स क्यों नहीं है, यह सुविधा पहले से ही है। अजीब।


2
मुझे ठीक इसी की आवश्यकता थी। Bitbucket की साइट से इस URL का सीधा लिंक संभवतः गायब है।
जॉनी ओशिका जूल

काश, यह काम नहीं करता। या बल्कि काम करते हैं, लेकिन आंशिक रूप से। उदाहरण के लिए, आप ब्राउज़ कर सकते हैं https://bitbucket.org/lyro/evil/src/8cbfd51लेकिन यदि आप प्रवेश करते हैं hg clone https://bitbucket.org/lyro/evil/src/8cbfd51, तो आपको कुछ यादृच्छिक संशोधन मिलेंगे, शायद नवीनतम।
हाय-एंजेल

मिले एक समाधान है, यह हैhg clone -r8cbfd51 https://bitbucket.org/lyro/evil/src/
हाय-एन्जिल

3
उन लोगों के लिए जो कॉपी + पेस्ट करना पसंद नहीं करते: एक निश्चित कमिटमेंट के लिए ब्राउज़ करें, यूआरएल कुछ इस तरह का होगा https://bitbucket.org/user/project/commits/0000000000000000000000000000000000000000?at=master। अब, केवल commitsurl में परिवर्तन करें srcऔर आप इस पर पूर्ण स्रोत ब्राउज़ कर रहे हैं!
पीटर

176

चरण 1

चरण 1


चरण 2

चरण 2


चरण 3

चरण 3


चरण 4

चरण 4


अंतिम चरण

अंतिम चरण


2
@ManojG यहाँ मेरे से एक है। तो जाहिर है, एक निश्चित प्रतिबद्ध में पूरे पेड़ को पाने का एक तरीका है, यद्यपि एक भ्रामक तरीके से।
मैल्कम

2
इस ANSWER से प्यार करें। नोट: आप फ़ाइल पर भी जा सकते हैं और ड्रॉप डाउन का उपयोग कर सकते हैं। धन्यवाद!
mattdlockyer

3
इस उत्तर से अधिक आश्चर्यजनक तथ्य यह है कि हम इसे एक बटन क्लिक पर नहीं कर सकते हैं ... कुछ चीजें वास्तव में अद्भुत हैं ....
नूनो गोंकोलव्स

इस कदम ने मेरे लिए हल नहीं किया, क्या परिणाम दिया: @mattdlockyer से जवाब, एक फ़ाइल का चयन करें, ड्रॉप डाउन पर क्लिक करें, एक पुरानी प्रतिबद्धता का चयन करें और फिर पश्च छवि के आधार लिंक पर लौटें जैसे ऑस्कर पोस्ट से अंतिम छवि
user2581818

1
यह सब काम करता है लेकिन जब इसे डाउनलोड करते हैं, तो यह हमेशा नवीनतम प्रतिबद्ध होता है। क्या मैं इसे गलत कर रहा हूँ या यह इस तरह से है?
जय मेहता

29

बस के मामले में किसी को भी मेरी नाव में है, जहां इन उत्तरों में से कोई भी वास्तव में काम किया है, यहाँ मैं क्या किया है।

शायद हमारे घर में बिटकॉइन सर्वर की तुलना में थोड़ा अलग तरीके से स्थापित किया गया है, लेकिन यहां एक यूआरएल है जिसे मैं आमतौर पर मास्टर शाखा में फाइलों को देखने के लिए जाता हूं:

https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse

यदि मैं ड्रॉप डाउन मेनू से मास्टर से अलग शाखा का चयन करता हूं, तो मुझे यह मिलता है:

https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse?at=refs%2Fheads%2F<BRANCH_NAME>

इसलिए मैंने ऐसा करने की कोशिश की और यह काम किया:

https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse?at=<COMMIT_ID>

अब मैं पूरे रेपो को ब्राउज़ कर सकता हूं क्योंकि यह उस कमिट के समय था।


6
यह उत्तर केवल वही है जो वास्तव में काम करता है। अधिक लोकप्रिय बिटबकेट के पुराने संस्करणों को संदर्भित करने के लिए प्रतीत होता है
क्लास मेलबर्न

9

कुछ साल पहले के महान जवाब। अब Bitbucket ने इसे आसान बना दिया है।

आप जिस टैग को डाउनलोड करना चाहते हैं उसे टैग करें (जैसा कि रूडी मटेला ने जवाब में बताया है)।

फिर डाउनलोड पर जाएं और "टैग" टैब पर क्लिक करें और आपको डाउनलोड के लिए कई विकल्प मिलेंगे।

टैग डाउनलोड करें


1
यह आसानी से जाने का सबसे सरल तरीका था। उन लोगों के लिए जो टैग मुद्दों को प्राप्त करने में असमर्थ हैं, एक विशिष्ट प्रतिबद्ध पर क्लिक करें और शीर्ष दाईं ओर आपको दृश्य स्रोत, शाखा, कमिट और टैग दिखाई देंगे। वहां अपना टैग जोड़ें, फिर उसे डाउनलोड करने के लिए जाएं।
PGMacDesign

8

रिकॉर्ड के लिए, आप इस तरह से यूआरएल के चारों ओर खिलौना भी लगा सकते हैं:

नवीनतम स्रोत ब्राउज़ करते समय, आपके पास कुछ ऐसा है: https://bitbucket.org/my/repo/src/latestcommithash/my.file?at=master

बस कमिट हैश बदलें और GET पैरामीटर निकालें: https://bitbucket.org/my/repo/src/wantedcommithash/my.file

ऊपर +1 @Hein A. Grønnestad मिला: यह सब काम कर रहा है, वास्तव में सोच रहे हैं कि इसका उपयोग करने के लिए GUI में कुछ भी क्यों नहीं है।


2
  1. सबसे आसान तरीका है कि आप उस कमिट पर क्लिक करें और उस कमिट में एक टैग जोड़ें। मैंने इस कमिट के साथ 'last_commit' टैग को शामिल किया है

  2. बिट बकेट में साइड नेवी के बाएं कोने में डाउनलोड करने के लिए जाएं। लेफ्ट साइड में डाउनलोड पर क्लिक करें

  3. अब नेवी बार में टैग पर क्लिक करें और यूआई से ज़िप डाउनलोड करें। अपना टैग ढूंढें और ज़िप डाउनलोड करें

1

आप ?until=<sha-of-commit>URL (फ़ाइल नाम के बाद) में जोड़कर किसी विशेष कमिट तक फ़ाइल के स्रोत को देख सकते हैं ।


1

मुझे पता है कि बहुत देर हो चुकी है, लेकिन एपीआई 2.0 के साथ आप कर सकते हैं

कमांड लाइन से:

curl https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>

या इसके साथ php में:

$data = json_decode(file_get_contents("https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>", true));

तब आपके पास आपकी फ़ाइल का इतिहास (सबसे हाल की प्रतिबद्ध से सबसे पुरानी एक तक):

{
"pagelen": 50,
"values": [
    {
      "links": {
        "self": {
          "href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<hash>/<path_file>"
        },
        "meta": {
          "href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<HEAD>/<path_file>?format=meta"
        },
        "history": {
          "href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<HEAD>/<path_file>"
        }
      },
      "commit": {
        "hash": "<HEAD>",
        "type": "commit",
        "links": {
          "self": {
            "href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/commit/<HEAD>"
          },
          "html": {
            "href": "https://bitbucket.org/<user>/<repo>/commits/<HEAD>"
          }
        }
      },
      "attributes": [],
      "path": "<path_file>",
      "type": "commit_file",
      "size": 31
    },
    {
      "links": {
        "self": {
          "href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<HEAD~1>/<path_file>"
        },
        "meta": {
          "href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<HEAD~1>/<path_file>?format=meta"
        },
        "history": {
          "href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<HEAD~1>/<path_file>"
        }
      },
      "commit": {
        "hash": "<HEAD~1>",
        "type": "commit",
        "links": {
          "self": {
            "href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/commit/<HEAD~1>"
          },
          "html": {
            "href": "https://bitbucket.org/<user>/<repo>/commits/<HEAD~1>"
          }
        }
      },
      "attributes": [],
      "path": "<path_file>",
      "type": "commit_file",
      "size": 20
    }
  ],
  "page": 1
}

जहां values> links> selfइतिहास में पल जो उसे अपने साथ प्राप्त कर सकते हैं पर फ़ाइल प्रदान करता है curl <link>या file_get_contents(<link>)

आखिरकार, कमांड लाइन से जिसे आप फ़िल्टर कर सकते हैं:

 curl https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>?fields=values.links.self

php में, बस foreachसरणी पर एक लूप बनाएं $data

नोट: यदि <path_file>एक /तुम हो उस में कन्वर्ट करने के लिए %2F

डॉक यहां देखें: https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%DD/filehistory/%7Bnode%7D/%7Bpath%7D

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.