የተከፋፈለው የምንጭ ቁጥጥር ስርዓት Git 2.26

ይገኛል የተከፋፈለ ምንጭ ቁጥጥር ስርዓት መልቀቅ Git 2.26.0. Git በቅርንጫፍ እና በማዋሃድ ላይ ተመስርተው ተለዋዋጭ ያልሆኑ ቀጥተኛ ያልሆኑ የልማት መሳሪያዎችን በማቅረብ በጣም ታዋቂ, አስተማማኝ እና ከፍተኛ አፈፃፀም የስሪት ቁጥጥር ስርዓቶች አንዱ ነው. የታሪኩን ታማኝነት ለማረጋገጥ እና ወደ ኋላ የሚመለሱ ለውጦችን ለመቋቋም ፣በእያንዳንዱ ቁርጠኝነት ውስጥ ያለፈውን ታሪክ ሁሉ ስውር ሃሽንግ ስራ ላይ ይውላል ፣እንዲሁም የግለሰብ መለያዎችን ማረጋገጥ እና በገንቢዎች ዲጂታል ፊርማ ማድረግም ይቻላል።

ከቀዳሚው እትም ጋር ሲነፃፀር አዲሱ እትም በ 504 ገንቢዎች ተሳትፎ የተዘጋጀ 64 ለውጦችን ያካተተ ሲሆን ከእነዚህ ውስጥ 12ቱ ለመጀመሪያ ጊዜ በልማት ውስጥ ተሳትፈዋል። ዋና ፈጠራዎች:

  • ነባሪው ወደ ተቀይሯል። ሁለተኛ ስሪት ደንበኛ ከ Git አገልጋይ ጋር በርቀት ሲገናኝ ጥቅም ላይ የሚውለው የጊት ኮሙኒኬሽን ፕሮቶኮል ነው። የፕሮቶኮሉ ሁለተኛ እትም በአገልጋዩ በኩል ቅርንጫፎችን እና መለያዎችን የማጣራት ችሎታ በማቅረብ ለደንበኛው አጭር የአገናኞችን ዝርዝር በመመለስ የሚታወቅ ነው። ከዚህ ቀደም ማንኛውም የመጎተት ትእዛዝ ለደንበኛው አንድን ቅርንጫፍ ብቻ ሲያዘምን ወይም የማከማቻው ቅጂ የተዘመነ መሆኑን በሚያረጋግጥበት ጊዜም እንኳ በጠቅላላው የመረጃ ቋት ውስጥ ሙሉ የማጣቀሻዎችን ዝርዝር ይልካል። ሌላው የሚደነቅ ፈጠራ አዲስ ተግባር በመሳሪያ ስብስብ ውስጥ ስለሚገኝ በፕሮቶኮሉ ላይ አዳዲስ ችሎታዎችን የመጨመር ችሎታ ነው። የደንበኛ ኮድ ከቀድሞው ፕሮቶኮል ጋር ተኳሃኝ ሆኖ ከሁለቱም ከአዳዲስ እና አሮጌ አገልጋዮች ጋር መስራቱን ሊቀጥል ይችላል፣ አገልጋዩ ሁለተኛውን የማይደግፍ ከሆነ በራስ-ሰር ወደ መጀመሪያው ስሪት ይመለሳል።
  • የ "-show-scope" አማራጭ ወደ "git config" ትዕዛዝ ተጨምሯል, ይህም የተወሰኑ መቼቶች የተገለጹበትን ቦታ ለመለየት ቀላል ያደርገዋል. Git ቅንብሮችን በተለያዩ ቦታዎች እንዲገልጹ ይፈቅድልዎታል-በማከማቻው ውስጥ (.git/info/config)፣ በተጠቃሚ ማውጫ (~/.gitconfig)፣ በስርዓተ-ሰፊ የውቅር ፋይል (/etc/gitconfig) እና በትእዛዝ የመስመር አማራጮች እና የአካባቢ ተለዋዋጮች. “git config” ን ሲሰሩ የሚፈለገው መቼት በትክክል የት እንደሚገለፅ ለመረዳት በጣም ከባድ ነው። ይህንን ችግር ለመፍታት “--show-origin” የሚለው አማራጭ ይገኝ ነበር፣ ነገር ግን ቅንብሩ ወደተገለጸበት ፋይል የሚወስደውን መንገድ ብቻ ያሳያል፣ ይህም ፋይሉን ለማርትዕ ካሰቡ ጠቃሚ ነው፣ ነገር ግን ካደረጉት አይረዳም። አማራጮችን "--system", "--global" ወይም "-local" በመጠቀም እሴቱን በ "git config" መቀየር ያስፈልገዋል. አዲሱ አማራጭ "--show-scope" ተለዋዋጭ ፍቺ አውድ ያሳያል እና ከ-show-origin ጋር አብሮ ጥቅም ላይ ሊውል ይችላል፡

    $ git --ዝርዝር --ሾው-ወሰን --አሳይ-መነሻ
    Global file:/home/user/.gitconfig diff.interhunkcontext=1
    global file:/home/user/.gitconfig push.default=current
    […] local file:.git/config branch.master.remote=origin
    local file:.git/config branch.master.merge=refs/heads/master

    $ git config --show-scope --get-regexp 'diff.*'
    Global diff.statgraphwidth 35
    local diff.colormoved ሜዳ

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

  • በማያያዝ ቅንብሮች ውስጥ ምስክርነቶች በዩአርኤሎች ውስጥ ጭምብል መጠቀም ይፈቀዳል። በ Git ውስጥ ያሉ ማንኛቸውም የኤችቲቲፒ ቅንጅቶች እና ምስክርነቶች ለሁሉም ግንኙነቶች (http.extraHeader, credential.helper) እና በዩአርኤል ላይ ለተመሰረቱ ግንኙነቶች (ምስክርነት።https://example.com.helper፣ credential.https: //example) ሊዋቀሩ ይችላሉ። com.ረዳት)። እስካሁን ድረስ፣ እንደ *.example.com ያሉ የዱር ካርዶች ለኤችቲቲፒ ቅንጅቶች ብቻ ተፈቅዶላቸዋል፣ ነገር ግን ለመረጃ ማሰሪያ አይደገፉም። በ Git 2.26 ውስጥ እነዚህ ልዩነቶች ተወግደዋል እና ለምሳሌ የተጠቃሚ ስም ከሁሉም ንዑስ ጎራዎች ጋር ለማያያዝ አሁን መጥቀስ ይችላሉ፡

    [ማስረጃ "https://*.example.com"]

    የተጠቃሚ ስም = taylorr

  • ለከፊል ክሎኒንግ (ከፊል ክሎኖች) የሙከራ ድጋፍ መስፋፋት ይቀጥላል, ይህም የውሂብን የተወሰነ ክፍል ብቻ እንዲያስተላልፍ እና ካልተሟላ የማከማቻ ቅጂ ጋር እንዲሰሩ ያስችልዎታል. አዲሱ የተለቀቀው አዲስ ትዕዛዝ "git sparse-checkout add" ያክላል, ይህም "የቼክአውት" ክዋኔን በስራው ዛፍ ላይ አንድ ክፍል ላይ ብቻ እንዲተገብሩ ይፈቅድልዎታል, ሁሉንም እንደዚህ ያሉ ማውጫዎችን በአንድ ጊዜ በ "git" ከመዘርዘር ይልቅ. sparse-checkout set" (ሙሉውን ዝርዝር በእያንዳንዱ ጊዜ ሳይገልጹ አንድ በአንድ ማውጫ ማከል ይችላሉ)።
    ለምሳሌ፣ብሎብስን ሳያደርጉ የgit/git ማከማቻን ለመዝጋት፣ ቼክ መውጣትን በስራ ቅጂው ስር ማውጫ ላይ ብቻ በመገደብ እና ለ"t" እና "Documentation" ማውጫዎች ቼክ መውጣትን ለየብቻ ምልክት ማድረግ፣ የሚከተሉትን መግለፅ ይችላሉ፡-

    $ git clone --filter=blob:ምንም --sparse [ኢሜል የተጠበቀ]:git/git.git

    $ ሲዲ git
    $ git sparse-checkout init --ኮን

    $ git sparse-checkout add t
    ....
    $ git sparse-checkout ዶክመንቴሽን ጨምር
    ....
    $ git sparse-Checkout ዝርዝር
    ስነዳ
    t

  • የ"git grep" ትዕዛዝ አፈጻጸም፣ ሁለቱንም የመረጃ ቋቶች እና የታሪክ ክለሳዎች ይዘት ለመፈለግ ጥቅም ላይ የዋለው፣ በከፍተኛ ሁኔታ ተሻሽሏል። ፍለጋውን ለማፋጠን ብዙ ክሮች ("git grep -threads") በመጠቀም የሚሠራውን ዛፍ ይዘት መቃኘት ይቻል ነበር ነገር ግን በታሪካዊ ክለሳዎች ውስጥ ያለው ፍለጋ ነጠላ-ክር ነበር. አሁን ይህ ገደብ ከእቃ ማከማቻው የንባብ ስራዎችን የማመሳሰል ችሎታን በመተግበር ተወግዷል. በነባሪ, የክሮች ቁጥር ከሲፒዩ ኮርሶች ቁጥር ጋር እኩል ነው የሚዘጋጀው, ይህም በአብዛኛዎቹ ሁኔታዎች አሁን የ "-threads" አማራጭን በግልፅ ማዘጋጀት አያስፈልገውም.
  • የንዑስ ትእዛዞችን ፣ መንገዶችን ፣ አገናኞችን እና ሌሎች የ “git worktree” ትዕዛዙን ግቤት በራስ-ሰር ለማጠናቀቅ ድጋፍ ታክሏል ፣ ይህም ከማከማቻው ከበርካታ የስራ ቅጂዎች ጋር እንዲሰሩ ያስችልዎታል።
  • ANSI የማምለጫ ቅደም ተከተሎች ላላቸው ደማቅ ቀለሞች ድጋፍ ታክሏል። ለምሳሌ፣ ለድምቀት ቀለሞች ቅንብሮች “git config –color” ወይም “git diff –color-moved” በ “--format” ለብሩህ ሰማያዊ አማራጭ በኩል “%C(ብሩህ ሰማያዊ)” መግለጽ ይችላሉ።
  • አዲስ የስክሪፕት እትም ታክሏል። fsmonitor-ዘበኛ, ከአሠራሩ ጋር ውህደትን ያቀርባል Facebook Watchman የፋይል ለውጦችን እና የአዳዲስ ፋይሎችን ገጽታ መከታተልን ለማፋጠን። Git ካዘመኑ በኋላ ያስፈልጋል ተካ በማጠራቀሚያው ውስጥ መንጠቆ.
  • ቢትማፕን ሲጠቀሙ ከፊል ክሎኖችን ለማፋጠን የታከሉ ማሻሻያዎች
    (ቢትማፕ ማሽነሪ) ውጤቱን በሚጣራበት ጊዜ የሁሉንም ነገሮች ሙሉ ፍለጋ ለማስቀረት. ከፊል ክሎኒንግ (-filter=blob: none እና —filter=blob:limit=n) መፈተሽ አሁን ይከናወናል።
    በከፍተኛ ፍጥነት. GitHub በእነዚህ ማሻሻያዎች እና ከፊል ክሎኒንግ የሙከራ ድጋፍ ያላቸውን ጥገናዎች አስታውቋል።

  • የ"git rebase" ትዕዛዙ "patch+apply" ከማለት ይልቅ ነባሪውን 'merge' method (ቀደም ሲል ለ"rebase -i" ጥቅም ላይ የዋለው) በመጠቀም ወደተለየ የኋላ ክፍል ተወስዷል። ደጋፊዎቹ በአንዳንድ ትንንሽ መንገዶች ይለያያሉ፡ ለምሳሌ፡ ግጭትን ከፈቱ በኋላ ቀዶ ጥገናውን ከቀጠሉ በኋላ (git rebase --continue)፣ አዲሱ የኋለኛ ክፍል የኮሚሽኑን መልእክት ለማርትዕ ያቀርባል፣ አሮጌው ደግሞ በቀላሉ የድሮውን መልእክት ተጠቅሟል። ወደ ቀድሞው ባህሪ ለመመለስ የ"--apply" አማራጭን መጠቀም ወይም 'rebase.backend' የውቅረት ተለዋዋጭ ወደ 'ተግብር' ማቀናበር ይችላሉ።
  • በ .netrc በኩል ለተገለጹት የማረጋገጫ መለኪያዎች ተቆጣጣሪ ምሳሌ ከሳጥኑ ውጭ ለመጠቀም ተስማሚ ወደሆነ ቅጽ ተቀንሷል።
  • የዲጂታል ፊርማ ማረጋገጫን ለሚያከናውኑ የተለያዩ አካላት ዝቅተኛውን የእምነት ደረጃ ለማዘጋጀት የgpg.minTrustLevel ቅንብር ታክሏል።
  • "--pathspec-from-file" አማራጭ ወደ "git rm" እና "git stash" ታክሏል።
  • ከSHA-2 ይልቅ ወደ SHA-1 ሃሽንግ አልጎሪዝም ለመሸጋገር የሙከራ ስብስቦችን ማሻሻል ቀጥሏል።

ምንጭ: opennet.ru

አስተያየት ያክሉ