விநியோகிக்கப்பட்ட மூலக் கட்டுப்பாட்டு அமைப்பின் வெளியீடு Git 2.31

விநியோகிக்கப்பட்ட மூலக் கட்டுப்பாட்டு அமைப்பு Git 2.31 இப்போது கிடைக்கிறது. Git மிகவும் பிரபலமான, நம்பகமான மற்றும் உயர் செயல்திறன் கொண்ட பதிப்பு கட்டுப்பாட்டு அமைப்புகளில் ஒன்றாகும், இது கிளை மற்றும் ஒன்றிணைப்பு அடிப்படையில் நெகிழ்வான நேரியல் அல்லாத மேம்பாட்டு கருவிகளை வழங்குகிறது. வரலாற்றின் ஒருமைப்பாடு மற்றும் முன்னோடி மாற்றங்களுக்கு எதிர்ப்பை உறுதிப்படுத்த, ஒவ்வொரு கமிட்டிலும் முழு முந்தைய வரலாற்றின் மறைமுகமான ஹாஷிங் பயன்படுத்தப்படுகிறது; டெவலப்பர்களின் டிஜிட்டல் கையொப்பங்களுடன் தனிப்பட்ட குறிச்சொற்கள் மற்றும் கமிட்களை சான்றளிக்கவும் முடியும்.

முந்தைய வெளியீட்டுடன் ஒப்பிடும்போது, ​​புதிய பதிப்பில் 679 மாற்றங்கள் அடங்கும், 85 டெவலப்பர்களின் பங்கேற்புடன் தயாரிக்கப்பட்டது, அதில் 23 பேர் முதல் முறையாக வளர்ச்சியில் பங்கேற்றனர். முக்கிய கண்டுபிடிப்புகள்:

  • "git பராமரிப்பு" கட்டளை சேர்க்கப்பட்டது, இது கிரானை ஆதரிக்காத கணினிகளில் அவ்வப்போது வேலை செய்ய உங்களை அனுமதிக்கிறது. எடுத்துக்காட்டாக, ஒரு புதிய கட்டளையைப் பயன்படுத்தி, ரெபோசிட்டரி பேக்கேஜிங் செயல்முறையை அவ்வப்போது இயக்க நீங்கள் ஏற்பாடு செய்யலாம், இதனால் பல்வேறு கட்டளைகளை இயக்கும் போது பேக்கேஜிங் தானாகவே செயல்படும் போது களஞ்சியம் பூட்டப்படும் வரை நீங்கள் காத்திருக்க வேண்டியதில்லை. ஊடாடும் அமர்வைத் தடுக்காமல், பின்னணியில் களஞ்சியத்தின் உகந்த கட்டமைப்பைப் பராமரிக்க, மேம்படுத்தல்கள் மற்றும் செயல்பாடுகளைச் செய்ய “git பராமரிப்பு” கட்டளை உங்களை அனுமதிக்கிறது - ஒரு மணி நேரத்திற்கு ஒருமுறை, தொலைநிலை களஞ்சியத்திலிருந்து புதிய பொருட்களை விரைவாக பதிவிறக்கம் செய்து புதுப்பிக்கும் வேலை செய்யப்படுகிறது. உறுதி வரைபடத்துடன் கோப்பு, மற்றும் களஞ்சியத்தை பேக்கிங் செயல்முறை ஒவ்வொரு இரவும் தொடங்குகிறது .
  • பேக் கோப்புகளுக்கான வட்டில் ஒரு தலைகீழ் குறியீட்டை (revindex) பராமரிப்பதற்கான ஆதரவு சேர்க்கப்பட்டது. Git அனைத்து தரவையும் பொருள்களின் வடிவத்தில் சேமிக்கிறது என்பதை நினைவில் கொள்க, அவை தனித்தனி கோப்புகளில் அமைந்துள்ளன. களஞ்சியத்துடன் பணிபுரியும் திறனை அதிகரிக்க, பொருள்கள் கூடுதலாக பேக் கோப்புகளில் வைக்கப்படுகின்றன, இதில் தகவல் ஒன்றுக்கொன்று பின்தொடரும் பொருள்களின் ஸ்ட்ரீம் வடிவத்தில் வழங்கப்படுகிறது (கிட் ஃபெட்ச் மற்றும் கிட் புஷ் மூலம் பொருட்களை மாற்றும்போது இதேபோன்ற வடிவம் பயன்படுத்தப்படுகிறது. கட்டளைகள்). ஒவ்வொரு பேக் கோப்பிற்கும், ஒரு குறியீட்டு கோப்பு (.idx) உருவாக்கப்படுகிறது, இது பொருள் அடையாளங்காட்டியைப் பயன்படுத்தி கொடுக்கப்பட்ட பொருள் சேமிக்கப்பட்டுள்ள பேக் கோப்பில் ஆஃப்செட்டை மிக விரைவாக தீர்மானிக்க உங்களை அனுமதிக்கிறது. Git 2.31 இல் அறிமுகப்படுத்தப்பட்டது, தலைகீழ் இண்டெக்ஸ் (.rev) ஆனது, பேக் கோப்பில் ஒரு பொருளை வைப்பது பற்றிய தகவலிலிருந்து ஒரு பொருள் அடையாளங்காட்டியை நிர்ணயிக்கும் செயல்முறையை மேம்படுத்துவதை நோக்கமாகக் கொண்டுள்ளது.

    முன்னதாக, பேக் கோப்பைப் பாகுபடுத்தும் போது பறக்கும் போது இதுபோன்ற மாற்றம் செய்யப்பட்டது மற்றும் நினைவகத்தில் மட்டுமே சேமிக்கப்பட்டது, இது ஒத்த குறியீடுகளை மீண்டும் பயன்படுத்த அனுமதிக்காது மற்றும் ஒவ்வொரு முறையும் குறியீட்டை உருவாக்க கட்டாயப்படுத்தியது. ஒரு குறியீட்டை உருவாக்குவதற்கான செயல்பாடானது, பொருள்-நிலை ஜோடிகளின் வரிசையை உருவாக்குவது மற்றும் அதை நிலையின்படி வரிசைப்படுத்துவது ஆகும், இது பெரிய பேக் கோப்புகளுக்கு நீண்ட நேரம் எடுக்கும்.

    எடுத்துக்காட்டாக, பொருள்களின் உள்ளடக்கங்களைக் காண்பிப்பதற்கான ஒரு செயல்பாடு, இது ஒரு நேரடி குறியீட்டைப் பயன்படுத்துகிறது, இது பொருட்களின் அளவைக் காண்பிக்கும் ஒரு செயல்பாட்டை விட 62 மடங்கு வேகமாக இருந்தது, இதற்காக பொருளின் நிலை அட்டவணைப்படுத்தப்படவில்லை. தலைகீழ் குறியீட்டைப் பயன்படுத்திய பிறகு, இந்த செயல்பாடுகள் ஏறக்குறைய அதே நேரத்தை எடுக்கத் தொடங்கின. ரிவர்ஸ் இன்டெக்ஸ்கள், டிஸ்கிலிருந்து தயாராக உள்ள தரவை நேரடியாக மாற்றுவதன் மூலம், பெறுதல் மற்றும் புஷ் கட்டளைகளை இயக்கும் போது, ​​பொருள் அனுப்பும் செயல்பாடுகளை விரைவுபடுத்த உங்களை அனுமதிக்கின்றன. முன்னிருப்பாக, தலைகீழ் குறியீடுகள் உருவாக்கப்படவில்லை; அவற்றை உருவாக்க, நீங்கள் "git config pack.writeReverseIndex true" அமைப்பை இயக்க வேண்டும், பின்னர் "git repack -Ad" கட்டளையுடன் களஞ்சியத்தை பேக் செய்ய வேண்டும்.

  • கமிட்-கிராஃப் கோப்பு வடிவமைப்பில் உள்ள தோற்றத்தின் அடிப்படையில் செயல்திறன் மேம்படுத்தல்கள் சேர்க்கப்பட்டது, கமிட்கள் பற்றிய தகவல்களுக்கான அணுகலை மேம்படுத்த பயன்படுகிறது, கமிட் தலைமுறை எண் பற்றிய புதிய தரவு, இது கமிட்களுடன் கூடுதல் செயல்பாடுகளை விரைவுபடுத்த பயன்படுகிறது.
  • புதிய களஞ்சியங்களில் (init.defaultBranch அமைப்பு) முன்னிருப்பாகப் பயன்படுத்தப்படும் பிரதான கிளையின் பெயரை மறுவரையறை செய்வதற்கான விருப்பங்கள் சேர்க்கப்பட்டது. வெளிப்புற களஞ்சியங்களை அணுகும் போது, ​​git HEAD மூலம் சுட்டிக்காட்டப்பட்ட கிளையை சரிபார்க்க முயற்சிக்கிறது, அதாவது. வெளிப்புற சேவையகம் முன்னிருப்பாக "முக்கிய" கிளையைப் பயன்படுத்தினால், "ஜிட் குளோன்" செயல்பாடு உள்நாட்டில் "முக்கிய" என்பதைச் சரிபார்க்க முயற்சிக்கும். Git 2.31 இப்போது வெற்று களஞ்சியங்களுக்கான செக் அவுட்டை ஆதரிக்கிறது. எடுத்துக்காட்டாக, புதிய களஞ்சியத்தை குளோனிங் செய்யும் போது, ​​அதில் முதல் இணைப்புகளைச் சேர்ப்பதற்கு முன், உள்ளூர் நகலில் வெளிப்புற சர்வரில் அமைக்கப்பட்ட இயல்புநிலை அப்ஸ்ட்ரீம் பெயர் இருக்கும்.
  • பொருட்களின் அளவின் சுருக்கத்தை வழங்க "git rev-list" கட்டளைக்கு --disk-usage விருப்பம் சேர்க்கப்பட்டது.
  • ஒன்றிணைப்பு பின்தளத்தில் வரவிருக்கும் மாற்றத்தை எதிர்பார்த்து, மறுபெயரைக் கண்டறிதல் கணிசமாக மேம்படுத்தப்பட்டுள்ளது.
  • பாரம்பரிய PCRE1 வழக்கமான வெளிப்பாடு நூலகத்திற்கான ஆதரவு நிறுத்தப்பட்டது.
  • ஹாஷிங் வழிமுறையைப் பொருட்படுத்தாமல், சுருக்கப்பட்ட இணைப்புகளைப் பயன்படுத்துவதை வலுக்கட்டாயமாக தடை செய்ய முடியும். core.abbrev அளவுருவிற்கு "இல்லை" மதிப்பை ஒதுக்குவதன் மூலம் தடை செயல்படுத்தப்படுகிறது.
  • "git rev-parse" கட்டளைக்கு "--path-format=(absolute|relative)" விருப்பம் சேர்க்கப்பட்டது, இது தொடர்புடைய அல்லது முழுமையான பாதைகள் வெளியீடாக இருக்க வேண்டுமா என்பதைத் தெளிவாகக் குறிப்பிடுவதற்கு.
  • உங்கள் சொந்த "ஜிட்" துணைக் கட்டளைகளுக்கு நிறைவு விதிகளைச் சேர்ப்பதை பாஷ் நிறைவு ஸ்கிரிப்ட்கள் எளிதாக்குகின்றன.
  • நிலையான உள்ளீட்டு ஸ்ட்ரீமில் இருந்து குறிப்புகளைப் படிக்க "git bundle" கட்டளைக்கு --stdin விருப்பம் சேர்க்கப்பட்டது.
  • "git log" கட்டளைக்கு ஒரு புதிய விருப்பம் சேர்க்கப்பட்டுள்ளது: "--diff-merges=" "
  • நகல் வெளியீட்டை அகற்ற "git ls-files" கட்டளைக்கு "--deduplicatecan" விருப்பம் சேர்க்கப்பட்டது.
  • பலவிதமான கமிட்களை விலக்க புதிய முகமூடிகள் சேர்க்கப்பட்டன - " ^!" மற்றும் " ^- "
  • ஒப்பிடப்படும் வரம்பின் ஒரு பக்கத்தை மட்டும் காட்ட, "git range-diff" கட்டளையில் "--left-only" மற்றும் "--right-only" விருப்பங்கள் சேர்க்கப்பட்டது.
  • "git diff" மற்றும் "git log" கட்டளைகளுக்கு --skip-to= விருப்பங்கள் சேர்க்கப்பட்டது "மற்றும்"—சுழற்று-க்கு= » தொடக்கப் பாதைகளின் முடிவில் தவிர்க்க அல்லது நகர்த்த.
  • "git difftool" கட்டளைக்கு "--skip-to=" விருப்பம் சேர்க்கப்பட்டது » சீரற்ற பாதையிலிருந்து குறுக்கிடப்பட்ட அமர்வை மீண்டும் தொடங்க.
  • டெவலப்பர்களுக்கிடையேயான முரண்பாடுகளைத் தீர்ப்பதற்கான அடிப்படைக் கொள்கைகளை வரையறுக்கும் நடத்தை நெறிமுறை பதிப்பு 2.0 க்கு புதுப்பிக்கப்பட்டது (முந்தைய பதிப்பு 1.4 பயன்படுத்தப்பட்டது).

    ஆதாரம்: opennet.ru

கருத்தைச் சேர்