Git 2.35 மூலக் கட்டுப்பாடு வெளியீடு

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

முந்தைய வெளியீட்டுடன் ஒப்பிடுகையில், புதிய பதிப்பில் 494 மாற்றங்கள் அடங்கும், 93 டெவலப்பர்களின் பங்கேற்புடன் தயாரிக்கப்பட்டது, அதில் 35 பேர் முதல் முறையாக வளர்ச்சியில் பங்கேற்றனர். முக்கிய கண்டுபிடிப்புகள்:

  • Git பொருட்களை டிஜிட்டல் முறையில் கையொப்பமிட SSH விசைகளைப் பயன்படுத்துவதற்கான சாத்தியக்கூறுகள் விரிவாக்கப்பட்டுள்ளன. பல விசைகளின் செல்லுபடியாகும் காலத்தை மட்டுப்படுத்த, OpenSSH உத்தரவுகளுக்கான ஆதரவு "செல்லுபடியாகும்-முன்" மற்றும் "செல்லுபடியாகும்-பிறகு" சேர்க்கப்பட்டுள்ளது, இதன் மூலம் டெவலப்பர்களில் ஒருவரால் விசையை சுழற்றிய பிறகு கையொப்பங்களுடன் சரியான வேலையை உறுதிசெய்யலாம். இதற்கு முன், பழைய மற்றும் புதிய விசையால் கையொப்பங்களைப் பிரிப்பதில் சிக்கல் இருந்தது - நீங்கள் பழைய விசையை நீக்கினால், அதனுடன் செய்யப்பட்ட கையொப்பங்களைச் சரிபார்க்க இயலாது, நீங்கள் அதை விட்டுவிட்டால், அது சாத்தியமாக இருக்கும். பழைய விசையுடன் புதிய கையொப்பங்களை உருவாக்கவும், இது ஏற்கனவே மற்றொரு விசையால் மாற்றப்பட்டுள்ளது. கையொப்பம் உருவாக்கப்பட்ட நேரத்தின் அடிப்படையில் செல்லுபடியாகும்-முன் மற்றும் செல்லுபடியாகும்-பிறகு விசைகளின் நோக்கத்தைப் பிரிக்கலாம்.
  • merge.conflictStyle அமைப்பில், ஒன்றிணைப்பின் போது ஏற்படும் முரண்பாடுகள் பற்றிய தகவல்களைக் காண்பிப்பதற்கான பயன்முறையைத் தேர்ந்தெடுக்க உங்களை அனுமதிக்கிறது, "zdiff3" பயன்முறைக்கான ஆதரவு தோன்றியுள்ளது, இது மோதலின் தொடக்கத்தில் அல்லது முடிவில் குறிப்பிடப்பட்ட அனைத்து நிலையான வரிகளையும் மோதலுக்கு வெளியே நகர்த்துகிறது. பகுதி, இது தகவல்களை மிகவும் சுருக்கமாக வழங்க அனுமதிக்கிறது.
  • "--ஸ்டேஜ்" பயன்முறையானது "git stash" கட்டளையில் சேர்க்கப்பட்டுள்ளது, இது குறியீட்டில் சேர்க்கப்பட்ட மாற்றங்களை மட்டும் மறைக்க உங்களை அனுமதிக்கிறது, எடுத்துக்காட்டாக, சில சிக்கலான மாற்றங்களை நீங்கள் தற்காலிகமாக ஒத்திவைக்க வேண்டிய சூழ்நிலையில் முதலில் ஏற்கனவே தயாராக இருப்பதைச் சேர்த்து, சிறிது நேரம் கழித்து மீதமுள்ளவற்றைச் சமாளிக்கவும். பயன்முறையானது "ஜிட் கமிட்" கட்டளையைப் போன்றது, குறியீட்டில் வைக்கப்பட்டுள்ள மாற்றங்களை மட்டுமே எழுதுகிறது, ஆனால் "git stash —staged" இல் புதிய உறுதியை உருவாக்குவதற்குப் பதிலாக, முடிவு தற்காலிகப் பகுதியில் சேமிக்கப்படும். மாற்றங்கள் தேவைப்பட்டவுடன், "git stash pop" கட்டளை மூலம் அவற்றைத் திரும்பப் பெறலாம்.
  • "git log" கட்டளையில் ஒரு புதிய வடிவமைப்பு விவரக்குறிப்பு சேர்க்கப்பட்டுள்ளது, "-format=%(describe)", இது "git log" இன் வெளியீட்டை "git description" கட்டளையின் வெளியீட்டுடன் இணைக்க அனுமதிக்கிறது. "git விவரிப்பதற்கான" அளவுருக்கள் நேரடியாக குறிப்பான் உள்ளே குறிப்பிடப்படுகின்றன ("-format=%(describe:match= ,விலக்கு= )"), இதில் நீங்கள் சுருக்கப்பட்ட குறிச்சொற்களையும் சேர்க்கலாம் ("—format=%(describe:tags= )") மற்றும் பொருள்களை அடையாளம் காண ஹெக்ஸாடெசிமல் எழுத்துக்களின் எண்ணிக்கையை உள்ளமைக்கவும் (“—format=%(விவரிக்க: சுருக்கம்= )"). எடுத்துக்காட்டாக, கடைசி 8 கமிட்களை பட்டியலிட, அதன் குறிச்சொற்கள் வெளியீட்டு வேட்பாளர் குறிச்சொல்லைக் கொண்டிருக்கவில்லை, மேலும் 8-எழுத்து அடையாளங்காட்டிகளைக் குறிப்பிடவும், நீங்கள் கட்டளையைப் பயன்படுத்தலாம்: $ git log -8 —format='%(describe:exclude=*-rc *,abbrev=13 )' v2.34.1-646-gaf4e5f569bc89 v2.34.1-644-g0330edb239c24 v2.33.1-641-g15f002812f858 v2.34.1-643-b.2-95 gb94bd056 bbc2.34.1f642 v56-95-gffb8f7d v2.34.1-203- gdf9c2980902adeb2.34.1 v640-3-g41b212a2.34.1
  • user.signingKey அமைப்பு இப்போது "ssh-" வகைக்கு மட்டுப்படுத்தப்படாத புதிய வகை விசைகளை ஆதரிக்கிறது மற்றும் விசைக்கான முழு கோப்பு பாதையையும் குறிப்பிடுகிறது. மாற்று வகைகள் "key::" முன்னொட்டைப் பயன்படுத்தி குறிப்பிடப்படுகின்றன, எடுத்துக்காட்டாக ECDSA விசைகளுக்கான "key::ecdsa-sha2-nistp256".
  • “—ஹிஸ்டோகிராம்” பயன்முறையில் மாற்றங்களின் பட்டியலை உருவாக்கும் வேகம், அதே போல் “—color-moved-ws” விருப்பத்தைப் பயன்படுத்தும் போது, ​​இது வண்ண வேறுபாட்டில் உள்ள இடைவெளிகளை முன்னிலைப்படுத்துவதைக் கட்டுப்படுத்துகிறது.
  • ஒன்றிணைக்கும் முரண்பாடுகளைப் பாகுபடுத்தும் போது, ​​வேறுபாடுகளைப் பார்க்கும்போது அல்லது தேடல் செயல்பாட்டைச் செய்யும்போது, ​​ஒரு கோப்பில் விரும்பிய நிலைக்குத் துல்லியமாகத் தாவுவது பற்றிய தகவலை Vim க்கு வழங்கப் பயன்படும் "git jump" கட்டளை, உள்ளடக்கப்பட்ட ஒன்றிணைப்பு முரண்பாடுகளைக் குறைக்கும் திறனை வழங்குகிறது. எடுத்துக்காட்டாக, செயல்பாடுகளை "foo" கோப்பகத்திற்கு மட்டும் வரம்பிட, "git jump merge - foo" எனக் குறிப்பிடலாம், மேலும் "Git jump merge - ':^Documentation'" செயலாக்கத்திலிருந்து "ஆவணம்" கோப்பகத்தை விலக்கலாம்.
  • பொருள்களின் அளவைக் குறிக்கும் மதிப்புகளுக்கு "கையொப்பமிடப்படாத நீளம்" என்பதற்குப் பதிலாக "size_t" வகையின் பயன்பாட்டைத் தரப்படுத்துவதற்கான பணிகள் செய்யப்பட்டுள்ளன, இது 4 GB க்கும் அதிகமான கோப்புகளுடன் "சுத்தமான" மற்றும் "ஸ்மட்ஜ்" வடிப்பான்களைப் பயன்படுத்துவதை சாத்தியமாக்கியது. LLP64 தரவு மாதிரியுடன் கூடிய இயங்குதளங்கள் உட்பட அனைத்து இயங்குதளங்களிலும், "கையொப்பமிடப்படாத நீளம்" வகை 4 பைட்டுகளாக வரையறுக்கப்பட்டுள்ளது.
  • “-empty=(stop|drop|keep)” விருப்பம் “git am” கட்டளையில் சேர்க்கப்பட்டுள்ளது, இது அஞ்சல் பெட்டியில் இருந்து இணைப்புகளை பாகுபடுத்தும் போது பேட்ச்கள் இல்லாத வெற்று செய்திகளுக்கான நடத்தையை தேர்ந்தெடுக்க உங்களை அனுமதிக்கிறது. "நிறுத்து" மதிப்பு முழு பேட்ச் செயல்பாட்டையும் நிறுத்தும், "துளி" என்பது ஒரு வெற்று பேட்சைத் தவிர்க்கும், மேலும் "வைத்து" ஒரு வெற்று உறுதியை உருவாக்கும்.
  • செயல்திறனை மேம்படுத்தவும் இடத்தை சேமிக்கவும் "git reset", "git diff", "git blind", "git fetch", "git pull" மற்றும் "git ls-files" கட்டளைகளுக்கு பகுதி குறியீடுகளுக்கான (ஸ்பேர்ஸ் இன்டெக்ஸ்) ஆதரவு சேர்க்கப்பட்டது. களஞ்சியங்கள் , இதில் பகுதியளவு குளோனிங் செயல்பாடுகள் (ஸ்பேர்ஸ்-செக்அவுட்) செய்யப்படுகின்றன.
  • "git sparse-checkout init" கட்டளை நிராகரிக்கப்பட்டது மற்றும் "git sparse-checkout set" ஆல் மாற்றப்பட வேண்டும்.
  • களஞ்சியத்தில் கிளைகள் மற்றும் குறிச்சொற்கள் போன்ற குறிப்புகளை சேமிப்பதற்காக புதிய "reftable" பின்தளத்தின் ஆரம்ப செயலாக்கம் சேர்க்கப்பட்டது. புதிய பின்தளமானது JGit திட்டத்தால் பயன்படுத்தப்படும் தொகுதி சேமிப்பகத்தைப் பயன்படுத்துகிறது மற்றும் அதிக எண்ணிக்கையிலான குறிப்புகளைச் சேமிப்பதற்காக உகந்ததாக உள்ளது. பின்தளம் இன்னும் ரெஃப்ஸ் அமைப்புடன் ஒருங்கிணைக்கப்படவில்லை மற்றும் நடைமுறை பயன்பாட்டிற்கு தயாராக இல்லை.
  • "git grep" கட்டளையின் வண்ணத் தட்டு GNU grep பயன்பாட்டுடன் பொருந்துமாறு சரிசெய்யப்பட்டது.

ஆதாரம்: opennet.ru

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