పంపిణీ చేయబడిన మూల నియంత్రణ వ్యవస్థ విడుదల Git 2.26

అందుబాటులో పంపిణీ చేయబడిన మూల నియంత్రణ వ్యవస్థ విడుదల Git 2.26.0. Git అత్యంత ప్రజాదరణ పొందిన, విశ్వసనీయమైన మరియు అధిక-పనితీరు గల సంస్కరణ నియంత్రణ వ్యవస్థలలో ఒకటి, ఇది శాఖలను విభజించడం మరియు విలీనం చేయడం ఆధారంగా సౌకర్యవంతమైన నాన్-లీనియర్ డెవలప్‌మెంట్ సాధనాలను అందిస్తుంది. చరిత్ర యొక్క సమగ్రతను నిర్ధారించడానికి మరియు ప్రతిఘటన మార్పులకు ప్రతిఘటనను నిర్ధారించడానికి, ప్రతి కమిట్‌లో మునుపటి మొత్తం చరిత్ర యొక్క అవ్యక్త హాషింగ్ ఉపయోగించబడుతుంది, డెవలపర్‌ల నుండి డిజిటల్ సంతకాలతో వ్యక్తిగత ట్యాగ్‌లు మరియు కమిట్‌లను ధృవీకరించడం కూడా సాధ్యమవుతుంది.

మునుపటి విడుదలతో పోలిస్తే, కొత్త వెర్షన్‌లో 504 మార్పులు ఉన్నాయి, 64 మంది డెవలపర్‌ల భాగస్వామ్యంతో తయారు చేయబడింది, అందులో 12 మంది మొదటిసారిగా అభివృద్ధిలో పాల్గొన్నారు. ప్రధాన ఆవిష్కరణలు:

  • డిఫాల్ట్ దీనికి మార్చబడింది రెండవ వెర్షన్ Git కమ్యూనికేషన్ ప్రోటోకాల్, ఇది క్లయింట్ రిమోట్‌గా Git సర్వర్‌కి కనెక్ట్ చేసినప్పుడు ఉపయోగించబడుతుంది. ప్రోటోకాల్ యొక్క రెండవ సంస్కరణ సర్వర్ వైపున బ్రాంచ్‌లు మరియు ట్యాగ్‌లను ఫిల్టర్ చేయగల సామర్థ్యాన్ని అందించడం ద్వారా గుర్తించదగినది, క్లయింట్‌కు లింక్‌ల యొక్క సంక్షిప్త జాబితాను తిరిగి అందిస్తుంది. మునుపు, క్లయింట్ ఒక శాఖను మాత్రమే అప్‌డేట్ చేస్తున్నప్పుడు లేదా రిపోజిటరీ యొక్క వారి కాపీ తాజాగా ఉందో లేదో తనిఖీ చేస్తున్నప్పుడు కూడా, ఏదైనా పుల్ కమాండ్ క్లయింట్‌కు మొత్తం రిపోజిటరీలోని రిఫరెన్స్‌ల పూర్తి జాబితాను ఎల్లప్పుడూ పంపుతుంది. టూల్‌కిట్‌లో కొత్త కార్యాచరణ అందుబాటులోకి వచ్చినందున ప్రోటోకాల్‌కు కొత్త సామర్థ్యాలను జోడించగల సామర్థ్యం మరొక ముఖ్యమైన ఆవిష్కరణ. క్లయింట్ కోడ్ పాత ప్రోటోకాల్‌కు అనుకూలంగా ఉంటుంది మరియు కొత్త మరియు పాత సర్వర్‌లతో పని చేయడం కొనసాగించవచ్చు, సర్వర్ రెండవదానికి మద్దతు ఇవ్వకపోతే స్వయంచాలకంగా మొదటి సంస్కరణకు తిరిగి వస్తుంది.
  • “-show-scope” ఎంపిక “git config” కమాండ్‌కు జోడించబడింది, ఇది నిర్దిష్ట సెట్టింగ్‌లు నిర్వచించబడిన స్థలాన్ని గుర్తించడాన్ని సులభతరం చేస్తుంది. వివిధ ప్రదేశాలలో సెట్టింగులను నిర్వచించడానికి Git మిమ్మల్ని అనుమతిస్తుంది: రిపోజిటరీలో (.git/info/config), యూజర్ డైరెక్టరీలో (~/.gitconfig), సిస్టమ్-వైడ్ కాన్ఫిగరేషన్ ఫైల్‌లో (/etc/gitconfig) మరియు కమాండ్ ద్వారా లైన్ ఎంపికలు మరియు పర్యావరణ వేరియబుల్స్. "git config"ని అమలు చేస్తున్నప్పుడు, కావలసిన సెట్టింగ్ ఎక్కడ నిర్వచించబడిందో అర్థం చేసుకోవడం చాలా కష్టం. ఈ సమస్యను పరిష్కరించడానికి, “--show-origin” ఎంపిక అందుబాటులో ఉంది, అయితే ఇది సెట్టింగ్ నిర్వచించబడిన ఫైల్‌కు మార్గాన్ని మాత్రమే చూపుతుంది, మీరు ఫైల్‌ను సవరించాలనుకుంటే ఇది ఉపయోగపడుతుంది, అయితే మీరు సహాయం చేయరు "--సిస్టమ్", "--గ్లోబల్" లేదా "-లోకల్" ఎంపికలను ఉపయోగించి "git config" ద్వారా విలువను మార్చాలి. కొత్త ఎంపిక "--show-scope" వేరియబుల్ డెఫినిషన్ సందర్భాన్ని ప్రదర్శిస్తుంది మరియు -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.*'
    గ్లోబల్ diff.statgraphwidth 35
    స్థానిక తేడా.రంగు మారిన సాదా

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

  • బైండింగ్ సెట్టింగ్‌లలో ఆధారాలు URLలలో మాస్క్‌ల ఉపయోగం అనుమతించబడుతుంది. Gitలో ఏవైనా HTTP సెట్టింగ్‌లు మరియు ఆధారాలు అన్ని కనెక్షన్‌లకు (http.extraHeader, credential.helper) మరియు URL-ఆధారిత కనెక్షన్‌ల కోసం (credential.https://example.com.helper, credential.https: //example) రెండింటినీ సెట్ చేయవచ్చు. com.helper). ఇప్పటి వరకు, *.example.com వంటి వైల్డ్‌కార్డ్‌లు HTTP సెట్టింగ్‌ల కోసం మాత్రమే అనుమతించబడ్డాయి, కానీ క్రెడెన్షియల్ బైండింగ్‌కు మద్దతు ఇవ్వలేదు. Git 2.26లో, ఈ తేడాలు తొలగించబడతాయి మరియు ఉదాహరణకు, అన్ని సబ్‌డొమైన్‌లకు వినియోగదారు పేరును బైండ్ చేయడానికి మీరు ఇప్పుడు పేర్కొనవచ్చు:

    [క్రెడెన్షియల్ "https://*.example.com"]

    వినియోగదారు పేరు = ttaylorr

  • పాక్షిక క్లోనింగ్ (పాక్షిక క్లోన్) కోసం ప్రయోగాత్మక మద్దతు యొక్క విస్తరణ కొనసాగుతుంది, ఇది డేటాలో కొంత భాగాన్ని మాత్రమే బదిలీ చేయడానికి మరియు రిపోజిటరీ యొక్క అసంపూర్ణ కాపీతో పని చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. కొత్త విడుదల "git స్పేర్స్-చెకౌట్ యాడ్" అనే కొత్త కమాండ్‌ను జోడిస్తుంది, ఇది "git" కమాండ్ ద్వారా అటువంటి డైరెక్టరీలన్నింటినీ ఒకేసారి జాబితా చేయడానికి బదులుగా, పని చేసే ట్రీలో కొంత భాగానికి మాత్రమే "చెక్ అవుట్" ఆపరేషన్‌ను వర్తింపజేయడానికి వ్యక్తిగత డైరెక్టరీలను జోడించడానికి మిమ్మల్ని అనుమతిస్తుంది. sparse-checkout set" (మీరు ప్రతిసారి మొత్తం జాబితాను మళ్లీ పేర్కొనకుండా, ఒక్కొక్క డైరెక్టరీని జోడించవచ్చు).
    ఉదాహరణకు, బ్లాబ్‌లకు పాల్పడకుండా git/git రిపోజిటరీని క్లోన్ చేయడానికి, చెక్‌అవుట్‌ని వర్కింగ్ కాపీ యొక్క రూట్ డైరెక్టరీకి మాత్రమే పరిమితం చేయడానికి మరియు "t" మరియు "డాక్యుమెంటేషన్" డైరెక్టరీల కోసం విడిగా చెక్‌అవుట్‌ని గుర్తించడానికి, మీరు పేర్కొనవచ్చు:

    $ git క్లోన్ --filter=blob:none --sparse [ఇమెయిల్ రక్షించబడింది]:git/git.git

    $ cd git
    $ git స్పార్స్-చెక్అవుట్ init --cone

    $ git స్పార్స్-చెక్అవుట్ యాడ్ t
    ....
    $ git స్పార్స్-చెక్అవుట్ డాక్యుమెంటేషన్ జోడించండి
    ....
    $ git స్పార్స్-చెక్అవుట్ జాబితా
    <span style="font-family: Mandali; font-size: 16px; ">డాక్యుమెంటేషన్
    t

  • రిపోజిటరీ యొక్క ప్రస్తుత కంటెంట్‌లు మరియు హిస్టారికల్ రివిజన్‌లు రెండింటినీ శోధించడానికి ఉపయోగించే “git grep” కమాండ్ పనితీరు గణనీయంగా మెరుగుపరచబడింది. శోధనను వేగవంతం చేయడానికి, బహుళ థ్రెడ్‌లను ("git grep -థ్రెడ్‌లు") ఉపయోగించి వర్కింగ్ ట్రీ యొక్క కంటెంట్‌లను స్కాన్ చేయడం సాధ్యమైంది, అయితే చారిత్రక పునర్విమర్శలలోని శోధన ఒకే-థ్రెడ్‌గా ఉంది. ఇప్పుడు ఆబ్జెక్ట్ స్టోరేజ్ నుండి రీడింగ్ ఆపరేషన్‌లను సమాంతరంగా చేసే సామర్థ్యాన్ని అమలు చేయడం ద్వారా ఈ పరిమితి తీసివేయబడింది. డిఫాల్ట్‌గా, థ్రెడ్‌ల సంఖ్య CPU కోర్ల సంఖ్యకు సమానంగా సెట్ చేయబడింది, ఇది ఇప్పుడు చాలా సందర్భాలలో “-థ్రెడ్‌లు” ఎంపికను స్పష్టంగా సెట్ చేయాల్సిన అవసరం లేదు.
  • "git worktree" కమాండ్ యొక్క సబ్‌కమాండ్‌లు, మార్గాలు, లింక్‌లు మరియు ఇతర ఆర్గ్యుమెంట్‌ల ఇన్‌పుట్ యొక్క స్వయంపూర్తి కోసం మద్దతు జోడించబడింది, ఇది రిపోజిటరీ యొక్క అనేక వర్కింగ్ కాపీలతో పని చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
  • ANSI ఎస్కేప్ సీక్వెన్స్‌లను కలిగి ఉన్న ప్రకాశవంతమైన రంగులకు మద్దతు జోడించబడింది. ఉదాహరణకు, హైలైట్ రంగుల సెట్టింగ్‌లలో “git config –color” లేదా “git diff –color-moved” మీరు ప్రకాశవంతమైన నీలం కోసం “--format” ఎంపిక ద్వారా “%C(brightblue)”ని పేర్కొనవచ్చు.
  • స్క్రిప్ట్ యొక్క కొత్త వెర్షన్ జోడించబడింది fsmonitor-కాపలాదారు, యంత్రాంగంతో ఏకీకరణను అందించడం ఫేస్ బుక్ వాచ్ మాన్ ఫైల్ మార్పుల ట్రాకింగ్ మరియు కొత్త ఫైల్‌ల రూపాన్ని వేగవంతం చేయడానికి. నవీకరించిన తర్వాత git అవసరం భర్తీ రిపోజిటరీలో హుక్ చేయండి.
  • బిట్‌మ్యాప్‌లను ఉపయోగిస్తున్నప్పుడు పాక్షిక క్లోన్‌లను వేగవంతం చేయడానికి ఆప్టిమైజేషన్‌లు జోడించబడ్డాయి
    (బిట్‌మ్యాప్ మెషినరీ) అవుట్‌పుట్‌ను ఫిల్టర్ చేస్తున్నప్పుడు అన్ని ఆబ్జెక్ట్‌ల యొక్క పూర్తి శోధనను నివారించడానికి. పాక్షిక క్లోనింగ్ సమయంలో బ్లాబ్‌ల కోసం తనిఖీ చేయడం (—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

ఒక వ్యాఖ్యను జోడించండి