---
title: संस्करण
description: >-
  blume version वर्तमान दस्तावेज़ों को एक संग्रहीत संस्करण के रूप में स्थिर कर देता है — यह ट्री की प्रतिलिपि बनाता है, उसके लिंक पुनर्लेखित करता है और आपके कॉन्फ़िग में id पंजीकृत करता है।
---

`blume version` से आप एक [दस्तावेज़ संस्करण](/docs/content/versioning) बनाते हैं। इसे एक id दें। यह वर्तमान सामग्री ट्री को एक स्नैपशॉट के रूप में स्थिर कर देता है। यह स्नैपशॉट दस्तावेज़ों को आगे भी ठीक उसी रूप में दिखाता रहता है, जिस रूप में वे उस समय थे:

```bash
blume version v1.0
```

यह चार काम करता है:

1. **सामग्री ट्री की प्रतिलिपि बनाता है**। प्रतिलिपि id के नाम वाले फ़ोल्डर (`docs/v1.0/`) में बनती है। मौजूदा स्नैपशॉट इस प्रतिलिपि में शामिल नहीं किए जाते।
2. **प्रतिलिपि के भीतर रूट-निरपेक्ष लिंक पुनर्लेखित करता है**, ताकि वे स्नैपशॉट के भीतर ही रहें: `/guides/x` बदलकर `/v1.0/guides/x` हो जाता है। फ़ेंस्ड और इनलाइन कोड में कोई बदलाव नहीं किया जाता। जिन पृष्ठों की प्रतिलिपि स्नैपशॉट में नहीं है, उनके लिंक लाइव पृष्ठों की ओर ही इंगित करते रहते हैं। इनमें जनरेट किए गए API संदर्भ और changelog जैसे दूरस्थ स्रोत शामिल हैं।
3. **`blume.config.ts` में `versions.archived` के अंतर्गत id पंजीकृत करता है**। पहली बार संस्करण बनाने पर वर्शनिंग चालू हो जाती है। साथ ही एक `versions` ब्लॉक जुड़ जाता है, जिसमें यह id संग्रहीत के रूप में दर्ज होती है और लाइव दस्तावेज़ों को "Latest" लेबल मिलता है। यदि कॉन्फ़िग की संरचना ऐसी हो जिसे यह संपादित नहीं करता, तो यह चेतावनी देता है। ऐसे में यह वह प्रविष्टि प्रिंट कर देता है, जिसे आप स्वयं पेस्ट कर सकते हैं।
4. **बताता है कि इसने क्या किया**: कौन-सी फ़ाइलें कॉपी हुईं और किन पृष्ठों के लिंक पुनर्लेखित हुए। साथ ही यह याद दिलाता है कि संग्रहीत संस्करण स्थिर होते हैं और नया स्नैपशॉट लोड करने के लिए `blume dev` को पुनः आरंभ करना होगा।

नए फ़ोल्डर की समीक्षा करें और किसी भी अन्य सामग्री की तरह उसे कमिट करें। संस्करणों के प्रदर्शन से जुड़ी हर चीज़ कॉन्फ़िगरेशन से तय होती है, जैसे स्विचर, संग्रहीत पृष्ठों पर दिखने वाली सूचना और हर संस्करण के अपने लेबल व बैज। इनका विवरण [वर्शनिंग](/docs/content/versioning) पृष्ठ पर दिया गया है।

## संस्करणों की सूची देखना [#listing-versions]

कॉन्फ़िगर किए गए संस्करणों की सूची देखने के लिए इसे बिना id के चलाएँ। पहले वर्तमान संस्करण अपने लेबल और बैज के साथ दिखता है, फिर हर संग्रहीत id अपने फ़ोल्डर के साथ। पहला संस्करण बनाने से पहले `versions` कॉन्फ़िगर नहीं होता। उस स्थिति में यह सूची के बजाय बताता है कि संस्करण कैसे बनाएँ।

```bash
blume version
```

## फ़्लैग [#flags]

- `--force` — पहले से मौजूद स्नैपशॉट फ़ोल्डर को अधिलेखित करता है। इसके बिना मौजूदा फ़ोल्डर को त्रुटि माना जाता है। इससे गलती से कमांड दोबारा चल जाने पर भी कोई संग्रहीत संस्करण नष्ट नहीं होता।

## यह कब मना करता है [#when-it-refuses]

निम्न स्थितियों में यह कमांड कुछ भी बदले बिना गैर-शून्य एग्ज़िट कोड के साथ बंद हो जाता है:

- id किसी अक्षर से शुरू नहीं होती, या उसमें अक्षरों, अंकों, बिंदुओं, हाइफ़न और अंडरस्कोर के अलावा कोई अन्य वर्ण है (`v1.0` मान्य है, `1.0` नहीं)। इस नियम से कोई id कभी किसी [संख्यात्मक क्रम उपसर्ग](/docs/content/navigation#ordering) से नहीं टकराती;
- प्रोजेक्ट में त्रुटि वाले डायग्नॉस्टिक्स हैं। टूटे हुए ट्री का स्नैपशॉट उस खराबी को भी स्थायी कर देगा, इसलिए पहले उन्हें ठीक करें (`blume doctor` उनकी सूची दिखाता है);
- id पहले से `versions.archived` में पंजीकृत है;
- स्नैपशॉट फ़ोल्डर मौजूद है और `--force` पास नहीं किया गया है।
