மூன்று மாத வளர்ச்சிக்குப் பிறகு, விநியோகிக்கப்பட்ட மூலக் கட்டுப்பாட்டு அமைப்பு Git 2.36 இன் வெளியீடு வெளியிடப்பட்டது. Git மிகவும் பிரபலமான, நம்பகமான மற்றும் உயர் செயல்திறன் கொண்ட பதிப்பு கட்டுப்பாட்டு அமைப்புகளில் ஒன்றாகும், இது கிளைகள் மற்றும் கிளைகளை ஒன்றிணைக்கும் அடிப்படையில் நெகிழ்வான நேரியல் அல்லாத மேம்பாட்டு கருவிகளை வழங்குகிறது. வரலாற்றின் ஒருமைப்பாட்டையும், பின்னோக்கிச் செல்லும் மாற்றங்களுக்கான எதிர்ப்பையும் உறுதிப்படுத்த, ஒவ்வொரு கமிட்டிலும் முந்தைய முழு வரலாற்றையும் மறைமுகமாக ஹேஷிங் செய்வது பயன்படுத்தப்படுகிறது, டெவலப்பர்களிடமிருந்து டிஜிட்டல் கையொப்பங்களுடன் தனிப்பட்ட குறிச்சொற்கள் மற்றும் கமிட்களை சரிபார்க்கவும் முடியும்.
முந்தைய வெளியீட்டுடன் ஒப்பிடும்போது, புதிய பதிப்பில் 717 மாற்றங்கள் ஏற்றுக்கொள்ளப்பட்டன, 96 டெவலப்பர்களின் பங்கேற்புடன் தயாரிக்கப்பட்டது, அதில் 26 பேர் முதல் முறையாக வளர்ச்சியில் பங்கேற்றனர். முக்கிய கண்டுபிடிப்புகள்:
- "-remerge-diff" விருப்பம் "git log" மற்றும் "git show" கட்டளைகளில் சேர்க்கப்பட்டுள்ளது, இது "ஐச் செயலாக்கிய பிறகு, இணைப்பின் ஒட்டுமொத்த முடிவுக்கும் உண்மையான தரவுக்கும் இடையே உள்ள வேறுபாடுகளைக் காட்ட உங்களை அனுமதிக்கிறது. merge" கட்டளை, இதன் விளைவாக ஒன்றிணைப்பு மோதல் தீர்வின் விளைவாக செய்யப்பட்ட மாற்றங்களை பார்வைக்கு மதிப்பீடு செய்ய உங்களை அனுமதிக்கிறது. வழக்கமான "ஜிட் ஷோ" கட்டளையானது வெவ்வேறு மோதல் தீர்மானங்களை உள்தள்ளல் மூலம் பிரிக்கிறது, மாற்றங்களைப் புரிந்துகொள்வதை கடினமாக்குகிறது. எடுத்துக்காட்டாக, கீழே உள்ள ஸ்கிரீன்ஷாட்டில், உள்தள்ளல் இல்லாமல் “+/-” என்ற வரியானது sha1 இன் முதல் கிளையில் மறுபெயரிடுதலுடன் தொடர்புடைய கடைசி மோதல் தீர்வைக் காட்டுகிறது. dwim_ref() செயல்பாட்டில் இரண்டாவது கிளையில் கூடுதல் வாதத்தின் தோற்றத்தால் ஏற்படும் தீர்மானம்.
"--remerge-diff" விருப்பத்தைப் பயன்படுத்தும் போது, மோதல் தீர்மானங்களுக்கிடையேயான வேறுபாடுகள் ஒவ்வொரு பெற்றோர் கிளைக்கும் பிரிக்கப்படுவதில்லை, ஆனால் ஒன்றிணைக்கும் முரண்பாடுகளைக் கொண்ட கோப்புக்கும் முரண்பாடுகள் தீர்க்கப்பட்ட கோப்பிற்கும் இடையிலான ஒட்டுமொத்த வேறுபாடுகள் காட்டப்படும்.
- fsync() செயல்பாட்டு அழைப்பின் மூலம் வட்டு தற்காலிக சேமிப்புகளை சுத்தப்படுத்துவதன் நடத்தையை தனிப்பயனாக்குவதில் மேம்படுத்தப்பட்ட நெகிழ்வுத்தன்மை. முன்பு கிடைத்த core.fsyncObjectFiles அளவுரு core.fsync மற்றும் core.fsyncMethod என இரண்டு config மாறிகளாகப் பிரிக்கப்பட்டது /refs), reflog மற்றும் பேக் கோப்புகள்.
core.fsync மாறி மூலம், நீங்கள் உள் Git கட்டமைப்புகளின் பட்டியலைக் குறிப்பிடலாம், எழுதும் செயல்பாட்டிற்குப் பிறகு, fsync அவற்றிற்கு கூடுதலாக அழைக்கப்படும். core.fsyncMethod மாறியானது தற்காலிக சேமிப்பை சுத்தப்படுத்துவதற்கான ஒரு முறையைத் தேர்ந்தெடுக்க உங்களை அனுமதிக்கிறது, எடுத்துக்காட்டாக, அதே பெயரில் உள்ள கணினி அழைப்பைப் பயன்படுத்த fsync ஐத் தேர்ந்தெடுக்கலாம் அல்லது நிலுவையில் உள்ள ரைட்பேக்கைப் பயன்படுத்த (pagecache ரைட்பேக்) மட்டும் எழுதுவதைக் குறிப்பிடலாம்.
- பிற பயனர்களின் .git கோப்பகங்களை பகிரப்பட்ட பகிர்வுகளாக மாற்றுவதைக் கையாளும் பாதிப்புகளிலிருந்து பாதுகாக்க, களஞ்சிய உரிமையாளரின் சரிபார்ப்பு வலுப்படுத்தப்பட்டுள்ளது. எந்த git கட்டளைகளையும் இயக்குவது இப்போது அவற்றின் சொந்த ".git" கோப்பகங்களில் மட்டுமே அனுமதிக்கப்படுகிறது. களஞ்சிய கோப்பகம் வேறொரு பயனருக்குச் சொந்தமானதாக இருந்தால், இயல்புநிலையாக ஒரு பிழை ஏற்படும். இந்த நடத்தை safe.directory அமைப்பைப் பயன்படுத்தி முடக்கலாம்.
- "git cat-file" கட்டளையில் --batch-command விருப்பத்தைச் சேர்த்தது, இது Git ஆப்ஜெக்ட்களின் அசல் உள்ளடக்கங்களைக் காண்பிக்கும் நோக்கம் கொண்டது, இது முன்னர் கிடைக்கக்கூடிய "--batch" மற்றும் "--batch-check" கட்டளைகளுடன் கூடுதலாக உள்ளது உள்ளடக்கங்களைக் காண்பிக்க "உள்ளடக்கங்கள் <object>" அல்லது பொருளைப் பற்றிய தகவலைக் காட்ட "தகவல் <object>" மூலம் வெளியீட்டின் வகையைத் தகவமைத்துத் தேர்ந்தெடுக்கும் திறன். கூடுதலாக, வெளியீட்டு இடையகத்தை பறிக்க "ஃப்ளஷ்" கட்டளை ஆதரிக்கப்படுகிறது.
- "-oid-only" ("--object-only") விருப்பம் "git ls-tree" கட்டளையில் சேர்க்கப்பட்டுள்ளது, இது ஒரு பொருள் மரத்தின் உள்ளடக்கங்களை பட்டியலிடுவதற்காக வடிவமைக்கப்பட்டுள்ளது, இது "-- உடன் ஒப்பிடப்படுகிறது. பெயர் மட்டும்", ஸ்கிரிப்ட்களிலிருந்து அழைப்பை எளிதாக்க பொருள் அடையாளங்காட்டிகளை மட்டுமே காட்டுகிறது. "--format" விருப்பமும் செயல்படுத்தப்பட்டுள்ளது, இது பயன்முறை, வகை, பெயர் மற்றும் அளவு தகவல்களை இணைப்பதன் மூலம் உங்கள் சொந்த வெளியீட்டு வடிவமைப்பை வரையறுக்க அனுமதிக்கிறது.
- "git bisect run" கட்டளையில், ஸ்கிரிப்ட் மற்றும் 126 அல்லது 127 குறியீடுகளுடன் பிழைகளை வெளியிடுவதற்கான இயங்கக்கூடிய கோப்பின் அடையாளத்தை அமைக்காதது பற்றிய வரையறை செயல்படுத்தப்படுகிறது (முன்பு, ஸ்கிரிப்டை இயக்க முடியவில்லை என்றால், அனைத்து திருத்தங்களும் சிக்கல்கள் இருப்பதாகக் குறிக்கப்பட்டது).
- ஏற்கனவே உள்ளாட்சி அமைப்பில் உள்ள உள்ளடக்கத்தின் மறுபக்கத்தை தெரிவிக்காமல் அனைத்து பொருட்களையும் பெற "git fetch" கட்டளைக்கு "--refetch" விருப்பம் சேர்க்கப்பட்டது. உள்ளூர் தரவின் ஒருமைப்பாடு குறித்து எந்த உறுதியும் இல்லாதபோது தோல்விகளுக்குப் பிறகு நிலையை மீட்டெடுக்க இந்த நடத்தை பயனுள்ளதாக இருக்கும்.
- git update-index, git checkout-index, git read-tree மற்றும் git clean கட்டளைகளுக்கு ஸ்பேர்ஸ் இன்டெக்ஸ்களுக்கு ஆதரவு சேர்க்கப்பட்டது.
- "git clone --filter=... --recurse-submodules" கட்டளையின் நடத்தை மாற்றப்பட்டுள்ளது, இது இப்போது சப்மாட்யூல்களின் பகுதி குளோனிங்கிற்கு வழிவகுக்கிறது (முன்பு, அத்தகைய கட்டளைகளை இயக்கும் போது, வடிகட்டி முக்கிய உள்ளடக்கத்திற்கு மட்டுமே பயன்படுத்தப்பட்டது. , மற்றும் துணை தொகுதிகள் வடிகட்டியை கணக்கில் எடுத்துக் கொள்ளாமல் முழுமையாக குளோன் செய்யப்பட்டன).
- பகுதி குளோன் செயல்பாடுகளைப் போலவே உள்ளடக்கத்தின் தேர்ந்தெடுக்கப்பட்ட இடத்திற்கான வடிப்பான்களைக் குறிப்பிடுவதற்கான ஆதரவு "git bundle" கட்டளையில் சேர்க்கப்பட்டுள்ளது.
- சப்மாட்யூல்களை சுழல்நிலையில் பயணிக்க "git branch" கட்டளைக்கு "--recurse-submodules" விருப்பம் சேர்க்கப்பட்டது.
- யூசர்டிஃப் கோட்லின் மொழிக்கான புதிய கையாளுதலை முன்மொழிந்துள்ளது.
ஆதாரம்: opennet.ru