
Git 2.52 अब उपलब्ध है इस लोकप्रिय वितरित संस्करण नियंत्रण प्रणाली के एक स्थिर अद्यतन के रूप में। यह संस्करण नई सुविधाएँ, रखरखाव समायोजन और प्रदर्शन सुधार यह 94 से अधिक सहयोगियों के काम का परिणाम है, जिनमें से 33 पहली बार इस परियोजना में शामिल हुए हैं।
सबसे उल्लेखनीय बदलावों में रिपॉजिटरीज़ की खोज के लिए नए उप-कमांड, एक बेहतर रखरखाव वर्कफ़्लो और SHA-256 में संक्रमण की दिशा में प्रगति शामिल है। यह सब एक सुसंगत और संक्षिप्त दृष्टिकोण के साथ किया गया है, प्रायोगिक प्रयास जो विभिन्न आकारों के रिपॉजिटरी का प्रबंधन करते हैं।
रिपॉजिटरीज़ की खोज के लिए नए git 2.52 कमांड
सबसे खास बात यह है कि git last-modifiedप्रत्येक पथ को छूने वाले सबसे हालिया कमिट को कुशलतापूर्वक प्राप्त करने के लिए डिज़ाइन किया गया। कई प्रविष्टियों वाले रिपॉजिटरी में, यह दृष्टिकोण बार-बार इतिहास ट्रैवर्सल से बचाता है और ls-tree + log को श्रृंखलाबद्ध करने से कई गुना तेज़आंतरिक परीक्षणों के अनुसार, वास्तविक दुनिया के परिदृश्यों में समय को सेकंड से घटाकर मिलीसेकंड कर दिया गया है।
यन्त्र last-modified इसे GitHub पर वर्षों से इस नाम से विकसित किया गया था दोष-वृक्ष2012 से अपने वृक्ष-स्तरीय "दोष" को बढ़ावा दे रहे हैं। इसके बाद, GitLab इंजीनियरों उन्होंने पैच सेट को Git 2.52 में एकीकृत करने के लिए पॉलिश किया, हालाँकि अभी भी इसमें कुछ विशेषताएं जोड़ी जानी बाकी हैं, जैसे कि डिस्क प्रारूप को कैश परिणामों में बदलें पिछले फांसी से.
प्रायोगिक भी आता है git repoरिपॉजिटरी सुविधाओं से परामर्श के लिए एक छत्र। git repo info क्या आप बता सकते हैं कि क्या यह नंगा o उथला, वस्तुओं और संदर्भों का प्रारूप, और git repo structure मुद्रित हैं संरचनात्मक सांख्यिकी (कमिट काउंट, ट्री, ब्लॉब्स, ब्रांच, टैग्स, आदि)। इसके अलावा, info संक्षिप्त विकल्प शामिल है -z और करने में सक्षम है ऑब्जेक्ट प्रारूप की रिपोर्ट करें उपयोग किया गया।
जो लोग संदर्भों के साथ निम्न स्तर पर काम करते हैं, git refs सुमा git refs list (उपनाम git for-each-ref) और git refs exists (के समान है git show-ref --existsवे अभूतपूर्व क्षमताएं प्रदान नहीं करते, लेकिन वे लगातार संचालन पर ध्यान केंद्रित करते हैं एक ही आदेश के तहत संदर्भों की।
छोटा लेकिन उपयोगी: अब git cmd --help-all यह भी काम करता है किसी भंडार के बाहरइससे कुछ भी आरंभ किए बिना वैश्विक सहायता तक पहुंचना आसान हो जाता है।
रखरखाव और प्रदर्शन
Git 2.52 एक कार्य प्रस्तुत करता है geometric अंदर git maintenance यह जहाँ तक संभव हो, ऑल-इन-वन रीपैक से बचता है और पहुँच से बाहर की वस्तुओं को कम बार छाँटता है। यह कार्य पैकेजों का निरीक्षण करके एक वस्तुओं की संख्या के अनुसार ज्यामितीय प्रगति और जब उचित हो तो बिना काटे कॉम्पैक्ट करें; यदि ऑपरेशन एक ही पैक में समाप्त होता है, तो git gc समेकन और छंटाई के लिए पूर्ण।
गति के संदर्भ में, मापनीय प्रगति हुई है: git describe यह अब प्राथमिकता कतार का उपयोग करता है और लगभग एक लाभ प्राप्त करता है 30% उपज; git remote rename संदर्भ पुनर्नामकरण को अनुकूलित करता है; git ls-files यह सूचकांक को अधिक मामलों में फैलाये रखता है; git log -L यह विलय में कुछ वृक्ष-स्तरीय अंतरों से बचाता है, विश्लेषण को गति देता है; और लाइब्रेरी xdiff इसमें कई अनुकूलन शामिल हैं डिफ और मर्ज में सुधार हुआ है फ़ाइल स्तर पर.
Git 3.0 के लिए सुरक्षा और रोडमैप
SHA-1 से SHA-256 में परिवर्तन जारी है। SHA-256 के पहले तत्व संस्करण 2.52 में दिखाई देते हैं। एल्गोरिदम के बीच अंतरसंचालनीयताइसका लक्ष्य अलग-अलग हैश वाले रिपॉजिटरीज़ को सहजता से बदलावों का आदान-प्रदान करने की अनुमति देना है। यह अभी भी एक प्रारंभिक चरण है, लेकिन यह अगले प्रमुख रिलीज़ का मार्ग प्रशस्त करता है।
Git 3.0 के लिए एक और बदलाव की योजना बनाई गई है कि डिफ़ॉल्ट शाखा को "main" कहा जाएगा। यह संस्करण 2.52 से ही शामिल किया गया है। सुराग और सहायता संदेश उस परिवर्तन को सुविधाजनक बनाने के लिए, और जो कोई भी आगे बढ़ना चाहता है वह ध्वज के साथ संकलन कर सकता है WITH_BREAKING_CHANGES योजनाबद्ध व्यवहारों का परीक्षण करने के लिए।
इसमें वैकल्पिक रूप से, रस्ट कोड भी शामिल है जो संरक्षित है WITH_RUSTजो परिवर्तनीय-चौड़ाई वाले पूर्णांकों की एन्कोडिंग/डिकोडिंग लागू करता है। इस संस्करण में यह अनिवार्य नहीं है और Git 2.52 रस्ट कंपाइलर के बिना काम करता है, लेकिन Git 3.0 को इसकी आवश्यकता होने की उम्मीद है और पुनः लिखे गए अंशों का विस्तार करें।
कार्यप्रवाह और प्रयोज्यता में सुधार
का उपयोग परिवर्तित-पथ ब्लूम फ़िल्टरएक संभाव्यता फ़िल्टर जो मार्गों के सीमित होने पर यात्राओं की गति बढ़ा देता है। अब इनका उपयोग तब भी किया जाता है जब पाथस्पेक यह होता है आंशिक वाइल्डकार्ड (उदाहरण के लिए, foo/bar/*/baz) और रुचि के कई मार्गों वाले परिदृश्यों में, जैसे प्रश्नों को लाभ पहुंचाना last-modified और कई इतिहास आदेश.
git sparse-checkout कार्रवाई जोड़ें clean ऐसे मामलों को हल करने के लिए, जहाँ रुचि के क्षेत्रों की परिभाषा बदलने पर फ़ाइलें चयन से बाहर रह जाती हैं। एक ही चरण में, आप कार्यशील पेड़ को साफ़ करें अवांछित तत्वों से बचें।
अन्य उपयोगी परिवर्धन: नया चर commitGraph.changedPaths डिफ़ॉल्ट रूप से सक्रिय करने के लिए --changed-paths en git commit-graph; विकल्प stash.index के लिए git stash pop/apply ऐसा व्यवहार करता है मानो इसे बुलाया गया हो --index; git diff-tree प्राप्त करता है --max-depth; git fast-import अब हस्ताक्षरित लेबल प्रबंधित करता है, और git repo info समर्थन के अलावा ऑब्जेक्ट प्रारूप की रिपोर्ट करना सीखें -z.
Git 2.52 उपलब्धता
Git 2.52 का स्रोत कोड यहां से डाउनलोड किया जा सकता है। आधिकारिक साइट इसे स्थानीय स्तर पर संकलित करने के लिए। यह आने वाले दिनों और हफ़्तों में आ जाना चाहिए। मुख्य वितरणों के भंडार यूरोप में GNU/Linux (डेबियन, उबंटू, फेडोरा, ओपनएसयूएसई, आर्क, आदि) में पहले से ही होमब्रू, मैकपोर्ट्स या चॉकलेटी जैसे प्रबंधक हैं, जिनमें सामान्य पैकेजिंग समय होता है।
इस रिलीज़ के साथ, Git अपने दैनिक कार्यों को और मजबूत करता है तेज़ और अधिक उपयोगी कमांडएक ज़्यादा सुव्यवस्थित रखरखाव प्रक्रिया और SHA-256 में बदलाव के शुरुआती चरण अब डिफ़ॉल्ट शाखा के रूप में "मुख्य" में हैं। अपग्रेड करने वाले अब इसका परीक्षण कर सकते हैं। git last-modifiedनई git repoका ज्यामितीय कार्य git maintenance और बाकी समायोजन, जो बिना किसी परेशानी के, छोटे और विशाल रिपॉजिटरी में अनुभव को सुचारू बनाते हैं।