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

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

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

  • బ్రాంచ్ మానిప్యులేషన్ (స్విచింగ్ మరియు క్రియేట్ చేయడం) మరియు వర్కింగ్ డైరెక్టరీలో ఫైల్‌లను పునరుద్ధరించడం ("git checkout $commit - $filename") వంటి వదులుగా కపుల్డ్ "git చెక్అవుట్" సామర్థ్యాలను వేరు చేయడానికి ప్రయోగాత్మక "git స్విచ్" మరియు "git restore" ఆదేశాలు ప్రవేశపెట్టబడ్డాయి. లేదా వెంటనే స్టేజింగ్ ఏరియాలో ("-స్టేజింగ్", "git Checkout"లో అనలాగ్ లేదు). గమనించదగ్గ విషయం ఏమిటంటే, "git Checkout" వలె కాకుండా, "git restore" పునరుద్ధరించబడుతున్న డైరెక్టరీల నుండి అన్‌ట్రాక్ చేయబడిన ఫైల్‌లను తొలగిస్తుంది (డిఫాల్ట్‌గా "--నో-ఓవర్లే").
  • “git merge –quit” ఎంపిక జోడించబడింది, ఇది “-abort” మాదిరిగానే, శాఖలను విలీనం చేసే ప్రక్రియను ఆపివేస్తుంది, కానీ పని చేసే డైరెక్టరీని తాకకుండా వదిలివేస్తుంది. మాన్యువల్ విలీనం సమయంలో చేసిన కొన్ని మార్పులు ప్రత్యేక కమిట్‌గా జారీ చేయడం ఉత్తమం అయితే ఈ ఎంపిక ఉపయోగకరంగా ఉంటుంది.
  • "git clone", "git fetch" మరియు "git push" కమాండ్‌లు ఇప్పుడు లింక్డ్ రిపోజిటరీలలో కమిట్‌ల ఉనికిని పరిగణనలోకి తీసుకుంటాయి (ప్రత్యామ్నాయాలు);
  • చేర్చబడింది “git బ్లేమ్ —ignore-rev” మరియు “—ignore-revs-file” ఎంపికలు చిన్న మార్పులు చేసే కమిట్‌లను దాటవేయడానికి మిమ్మల్ని అనుమతిస్తాయి (ఉదాహరణకు, ఫార్మాటింగ్ పరిష్కారాలు);
  • వివాదాస్పద కమిట్‌ను దాటవేయడానికి “git cherry-pick —skip” ఎంపిక జోడించబడింది (“git reset && git cherry-pick —continue” క్రమం యొక్క గుర్తుపెట్టుకున్న అనలాగ్);
  • status.aheadBehind సెట్టింగ్ జోడించబడింది, ఇది “git స్థితి -[no-]ahead-behind” ఎంపికను శాశ్వతంగా పరిష్కరిస్తుంది;
  • ఈ విడుదల నాటికి, "git log" డిఫాల్ట్‌గా మెయిల్‌మ్యాప్ ద్వారా చేసిన మార్పులను పరిగణనలోకి తీసుకుంటుంది, git shortlog ఇప్పటికే ఎలా చేస్తుందో అదే విధంగా;
  • 2.18లో ప్రవేశపెట్టబడిన కమిట్ గ్రాఫ్ (core.commitGraph) యొక్క ప్రయోగాత్మక కాష్ యొక్క నవీకరణ ఆపరేషన్ గణనీయంగా వేగవంతం చేయబడింది. బహుళ టెంప్లేట్‌లను ఉపయోగిస్తున్నప్పుడు ప్రతి-ref కోసం git వేగంగా తయారు చేయబడింది మరియు “git fetch —multiple”లో ఆటో-gcకి కాల్‌ల సంఖ్యను తగ్గించింది;
  • "git branch --list" ఇప్పుడు ఎల్లప్పుడూ లొకేల్‌తో సంబంధం లేకుండా జాబితా ప్రారంభంలోనే వేరు చేయబడిన HEADని చూపుతుంది.

మూలం: opennet.ru

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