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

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

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

  • இயல்புநிலை இதற்கு மாற்றப்பட்டது இரண்டாவது பதிப்பு Git தொடர்பு நெறிமுறை, இது ஒரு கிளையன்ட் தொலைவிலிருந்து Git சேவையகத்துடன் இணைக்கும் போது பயன்படுத்தப்படுகிறது. நெறிமுறையின் இரண்டாவது பதிப்பு, சேவையகப் பக்கத்தில் கிளைகள் மற்றும் குறிச்சொற்களை வடிகட்டுவதற்கான திறனை வழங்குவதில் குறிப்பிடத்தக்கது, கிளையண்டிற்கான இணைப்புகளின் சுருக்கப்பட்ட பட்டியலை வழங்குகிறது. முன்னதாக, கிளையன்ட் ஒரு கிளையை மட்டுமே புதுப்பித்தாலும் அல்லது காப்பகத்தின் நகல் புதுப்பித்த நிலையில் உள்ளதா எனச் சரிபார்த்தாலும், எந்தவொரு இழுக்கும் கட்டளையும் கிளையண்டிற்கு முழுக் களஞ்சியத்திலும் உள்ள குறிப்புகளின் முழுப் பட்டியலை எப்போதும் அனுப்பும். மற்றொரு குறிப்பிடத்தக்க கண்டுபிடிப்பு, கருவித்தொகுப்பில் புதிய செயல்பாடு கிடைக்கும்போது நெறிமுறையில் புதிய திறன்களைச் சேர்க்கும் திறன் ஆகும். கிளையன்ட் குறியீடு பழைய நெறிமுறையுடன் இணக்கமாக உள்ளது மற்றும் புதிய மற்றும் பழைய சேவையகங்களுடன் தொடர்ந்து வேலை செய்யலாம், சேவையகம் இரண்டாவது பதிப்பை ஆதரிக்கவில்லை என்றால் தானாகவே முதல் பதிப்பிற்குத் திரும்பும்.
  • "-show-scope" விருப்பம் "git config" கட்டளையில் சேர்க்கப்பட்டுள்ளது, சில அமைப்புகள் வரையறுக்கப்பட்ட இடத்தை எளிதாகக் கண்டறியும். Git பல்வேறு இடங்களில் அமைப்புகளை வரையறுக்க உங்களை அனுமதிக்கிறது: களஞ்சியத்தில் (.git/info/config), பயனர் கோப்பகத்தில் (~/.gitconfig), கணினி அளவிலான உள்ளமைவு கோப்பில் (/etc/gitconfig) மற்றும் கட்டளை மூலம் வரி விருப்பங்கள் மற்றும் சூழல் மாறிகள். "git config" ஐ இயக்கும் போது, ​​விரும்பிய அமைப்பு சரியாக எங்கு வரையறுக்கப்படுகிறது என்பதைப் புரிந்துகொள்வது மிகவும் கடினம். இந்தச் சிக்கலைத் தீர்க்க, “--ஷோ-ஆரிஜின்” விருப்பம் உள்ளது, ஆனால் இது அமைப்பு வரையறுக்கப்பட்ட கோப்பிற்கான பாதையை மட்டுமே காட்டுகிறது, நீங்கள் கோப்பைத் திருத்த விரும்பினால் இது பயனுள்ளதாக இருக்கும், ஆனால் நீங்கள் உதவாது "--system", "--global" அல்லது "-local" விருப்பங்களைப் பயன்படுத்தி "git config" மூலம் மதிப்பை மாற்ற வேண்டும். புதிய விருப்பம் "--ஷோ-ஸ்கோப்" மாறி வரையறை சூழலைக் காட்டுகிறது மற்றும் -show-origin உடன் இணைந்து பயன்படுத்தலாம்:

    $ git --list --show-scope --show-origin
    உலகளாவிய கோப்பு:/home/user/.gitconfig diff.interhunkcontext=1
    உலகளாவிய கோப்பு:/home/user/.gitconfig push.default=current
    […] local file:.git/config branch.master.remote=origin
    உள்ளூர் கோப்பு:.git/config branch.master.merge=refs/heads/master

    $ git config --show-scope --get-regexp 'diff.*'
    உலகளாவிய வேறுபாடு.statgraphwidth 35
    உள்ளூர் வேறுபாடு. நிறமாற்றப்பட்ட சமவெளி

    $ git config --global --unset diff.statgraphwidth

  • பிணைப்பு அமைப்புகளில் சான்றுகளை URLகளில் முகமூடிகளைப் பயன்படுத்துவது அனுமதிக்கப்படுகிறது. அனைத்து இணைப்புகளுக்கும் (http.extraHeader, credential.helper) மற்றும் URL அடிப்படையிலான இணைப்புகளுக்கு (credential.https://example.com.helper, credential.https: //example) Git இல் உள்ள எந்த HTTP அமைப்புகளும் சான்றுகளும் அமைக்கப்படலாம். com.helper). இப்போது வரை, *.example.com போன்ற வைல்டு கார்டுகள் HTTP அமைப்புகளுக்கு மட்டுமே அனுமதிக்கப்பட்டன, ஆனால் நற்சான்றிதழ் பிணைப்புக்கு ஆதரிக்கப்படவில்லை. Git 2.26 இல், இந்த வேறுபாடுகள் அகற்றப்பட்டு, எடுத்துக்காட்டாக, அனைத்து துணை டொமைன்களுக்கும் பயனர்பெயரை இணைக்க நீங்கள் இப்போது குறிப்பிடலாம்:

    [நற்சான்றிதழ் "https://*.example.com"]

    பயனர் பெயர் = ttaylorr

  • பகுதி குளோனிங்கிற்கான (பகுதி குளோன்கள்) சோதனை ஆதரவின் விரிவாக்கம் தொடர்கிறது, இது தரவின் ஒரு பகுதியை மட்டுமே மாற்றவும் மற்றும் களஞ்சியத்தின் முழுமையற்ற நகலுடன் வேலை செய்யவும் உங்களை அனுமதிக்கிறது. புதிய வெளியீடு "git sparse-checkout add" என்ற புதிய கட்டளையைச் சேர்க்கிறது, இது "git" கட்டளையின் மூலம் அத்தகைய அனைத்து கோப்பகங்களையும் ஒரே நேரத்தில் பட்டியலிடுவதற்குப் பதிலாக, வேலை செய்யும் மரத்தின் ஒரு பகுதிக்கு மட்டும் "checkout" செயல்பாட்டைப் பயன்படுத்துவதற்கு தனிப்பட்ட கோப்பகங்களைச் சேர்க்க உங்களை அனுமதிக்கிறது. sparse-checkout set" (ஒவ்வொரு முறையும் முழுப் பட்டியலையும் மீண்டும் குறிப்பிடாமல், ஒவ்வொன்றாக ஒரு கோப்பகத்தைச் சேர்க்கலாம்).
    எடுத்துக்காட்டாக, ஒரு git/git களஞ்சியத்தை ப்ளாப் செய்யாமல் குளோன் செய்ய, செக் அவுட்டை வேலை செய்யும் நகலின் ரூட் டைரக்டரிக்கு மட்டும் வரம்பிட்டு, "t" மற்றும் "Documentation" கோப்பகங்களுக்கான செக் அவுட்டை தனித்தனியாகக் குறிக்க, நீங்கள் குறிப்பிடலாம்:

    $ git குளோன் --filter=blob:none --sparse [மின்னஞ்சல் பாதுகாக்கப்பட்டது]:git/git.git

    $ சிடி ஜிட்
    $ git sparse-checkout init --cone

    $ git sparse-checkout add t
    ....
    $ git sparse-checkout add Documentation
    ....
    $ git sparse-checkout list
    ஆவணங்கள்
    t

  • "git grep" கட்டளையின் செயல்திறன், களஞ்சியத்தின் தற்போதைய உள்ளடக்கங்கள் மற்றும் வரலாற்று திருத்தங்கள் இரண்டையும் தேடப் பயன்படுகிறது, கணிசமாக மேம்படுத்தப்பட்டுள்ளது. தேடலை விரைவுபடுத்த, பல நூல்களைப் பயன்படுத்தி ("git grep -threads") வேலை செய்யும் மரத்தின் உள்ளடக்கங்களை ஸ்கேன் செய்ய முடியும், ஆனால் வரலாற்றுத் திருத்தங்களில் உள்ள தேடல் ஒற்றைத் தொடராக இருந்தது. இப்போது இந்த வரம்பு நீக்கப்பட்டது, பொருள் சேமிப்பகத்திலிருந்து வாசிப்பு செயல்பாடுகளை இணைப்பதற்கான திறனை செயல்படுத்துகிறது. முன்னிருப்பாக, த்ரெட்களின் எண்ணிக்கை CPU கோர்களின் எண்ணிக்கைக்கு சமமாக அமைக்கப்பட்டுள்ளது, பெரும்பாலான சந்தர்ப்பங்களில் இப்போது வெளிப்படையாக “-threads” விருப்பத்தை அமைக்க வேண்டிய அவசியமில்லை.
  • "git worktree" கட்டளையின் துணை கட்டளைகள், பாதைகள், இணைப்புகள் மற்றும் பிற வாதங்களின் உள்ளீட்டை தானாக நிறைவு செய்வதற்கான ஆதரவு சேர்க்கப்பட்டது, இது களஞ்சியத்தின் பல வேலை நகல்களுடன் வேலை செய்ய உங்களை அனுமதிக்கிறது.
  • ANSI தப்பிக்கும் காட்சிகளைக் கொண்ட பிரகாசமான வண்ணங்களுக்கான ஆதரவு சேர்க்கப்பட்டது. எடுத்துக்காட்டாக, "git config -color" அல்லது "git diff-color-moved" நிறங்களைத் தனிப்படுத்துவதற்கான அமைப்புகளில், பிரகாசமான நீலத்திற்கான "--format" விருப்பத்தின் மூலம் "%C(brightblue)" என்பதைக் குறிப்பிடலாம்.
  • ஸ்கிரிப்ட்டின் புதிய பதிப்பு சேர்க்கப்பட்டது fsmonitor-காவலர், பொறிமுறையுடன் ஒருங்கிணைப்பை வழங்குகிறது பேஸ்புக் வாட்ச்மேன் கோப்பு மாற்றங்கள் மற்றும் புதிய கோப்புகளின் தோற்றத்தை கண்காணிப்பதை விரைவுபடுத்த. புதுப்பித்த பிறகு, ஜிட் தேவை заменить களஞ்சியத்தில் கொக்கி.
  • பிட்மேப்களைப் பயன்படுத்தும் போது பகுதி குளோன்களை விரைவுபடுத்த மேம்படுத்தல்கள் சேர்க்கப்பட்டது
    (பிட்மேப் இயந்திரங்கள்) வெளியீட்டை வடிகட்டும்போது அனைத்து பொருட்களையும் முழுமையாகத் தேடுவதைத் தவிர்க்கும். பகுதி குளோனிங்கின் போது ப்ளாப்களை (—filter=blob:none மற்றும் —filter=blob:limit=n) சரிபார்த்தல் இப்போது செய்யப்படுகிறது
    கணிசமாக வேகமாக. GitHub இந்த மேம்படுத்தல்கள் மற்றும் பகுதி குளோனிங்கிற்கான சோதனை ஆதரவுடன் இணைப்புகளை அறிவித்தது.

  • "git rebase" கட்டளையானது, 'patch+apply' என்பதற்குப் பதிலாக இயல்புநிலை 'merge' பொறிமுறையை (முன்பு "rebase -i"க்கு பயன்படுத்தப்பட்டது) பயன்படுத்தி, வேறு பின்தளத்திற்கு நகர்த்தப்பட்டது. பின்தளங்கள் சில சிறிய வழிகளில் வேறுபடுகின்றன, எடுத்துக்காட்டாக, ஒரு முரண்பாட்டைத் தீர்த்த பிறகு (git rebase --continue) ஒரு செயல்பாட்டைத் தொடர்ந்த பிறகு, புதிய பின்தளமானது உறுதி செய்தியைத் திருத்த வழங்குகிறது, பழையது பழைய செய்தியைப் பயன்படுத்துகிறது. பழைய நடத்தைக்குத் திரும்ப, நீங்கள் "--apply" விருப்பத்தைப் பயன்படுத்தலாம் அல்லது 'rebase.backend' உள்ளமைவு மாறியை 'apply' என அமைக்கலாம்.
  • .netrc மூலம் குறிப்பிடப்பட்ட அங்கீகார அளவுருக்களுக்கான ஹேண்ட்லரின் உதாரணம் பெட்டிக்கு வெளியே பயன்படுத்துவதற்கு ஏற்ற படிவமாக குறைக்கப்பட்டுள்ளது.
  • டிஜிட்டல் கையொப்ப சரிபார்ப்பைச் செய்யும் பல்வேறு உறுப்புகளுக்கான குறைந்தபட்ச நம்பிக்கை அளவை அமைக்க gpg.minTrustLevel அமைப்பு சேர்க்கப்பட்டது.
  • "git rm" மற்றும் "git stash" இல் "--pathspec-from-file" விருப்பம் சேர்க்கப்பட்டது.
  • SHA-2க்கு பதிலாக SHA-1 ஹாஷிங் அல்காரிதத்திற்கு மாறுவதற்கான தயாரிப்பில் சோதனைத் தொகுப்புகளின் மேம்பாடு தொடர்ந்தது.

ஆதாரம்: opennet.ru

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