SHA-2.29.0, മെച്ചപ്പെടുത്തലുകൾ‌ എന്നിവയ്‌ക്കും അതിലേറെ കാര്യങ്ങൾക്കുമുള്ള പരീക്ഷണാത്മക പിന്തുണയുമായി Git 256 എത്തിച്ചേരുന്നു

ഏറ്റവും പ്രചാരമുള്ള പതിപ്പ് നിയന്ത്രണ സംവിധാനങ്ങളിലൊന്നാണ് ജിറ്റ്, വിശ്വസനീയവും ഉയർന്ന പ്രകടനവും, ബ്രാഞ്ചിംഗിനും ലയനത്തിനും അടിസ്ഥാനമാക്കി വഴക്കമുള്ള നോൺ-ലീനിയർ വികസന ഉപകരണങ്ങൾ നൽകുന്നു. ചരിത്രത്തിന്റെ സമഗ്രതയും മാറ്റങ്ങളോടുള്ള പ്രതിരോധവും "മുൻ‌കാലാടിസ്ഥാനത്തിൽ" ഉറപ്പുവരുത്തുന്നതിന്, ഓരോ പ്രതിജ്ഞാബദ്ധതയിലും മുമ്പത്തെ എല്ലാ ചരിത്രങ്ങളുടെയും വ്യക്തമായ ഹാഷിംഗ് ഉപയോഗിക്കുന്നു, വ്യക്തിഗത ടാഗുകളുടെ ഡിജിറ്റൽ ഒപ്പുകൾ ഉപയോഗിച്ച് സാക്ഷ്യപ്പെടുത്താനും ഡവലപ്പർമാരെ ചുമതലപ്പെടുത്താനും കഴിയും.

സമീപകാലത്ത് അതിന്റെ പുതിയ പതിപ്പ് "Git 2.29.0" പ്രഖ്യാപിച്ചു മുമ്പത്തെ പതിപ്പുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ, പുതിയ പതിപ്പിൽ 627 മാറ്റങ്ങൾ സ്വീകരിച്ചു, 89 ഡവലപ്പർമാരുടെ പങ്കാളിത്തത്തോടെ നിർമ്മിച്ച, അതിൽ 24 എണ്ണം ആദ്യമായി വികസനത്തിൽ പങ്കെടുത്തു.

Git 2.29.0 പ്രധാന പുതിയ സവിശേഷതകൾ

ഈ പുതിയ പതിപ്പിൽ, SHA-256 ഹാഷിംഗ് അൽ‌ഗോരിതം ഉപയോഗിക്കുന്നതിനുള്ള ഒരു പരീക്ഷണാത്മക ഓപ്ഷൻ ഉൾപ്പെടുന്നു വിട്ടുവീഴ്ച ചെയ്ത SHA-1 ന് പകരം ശേഖരത്തിലേക്ക് വസ്തുക്കൾ എഴുതുമ്പോൾ. Git ലെ ഓരോ ഒബ്‌ജക്റ്റിന്റെയും ഉള്ളടക്കത്തിൽ നിന്ന് ഹാഷ് ജനറേറ്റുചെയ്യുന്നു, മാത്രമല്ല അതിന്റെ അദ്വിതീയ ഐഡന്റിഫയർ ആണ്. ഒബ്ജക്റ്റിന്റെ ഡാറ്റയിലോ തലക്കെട്ടുകളിലോ എന്തെങ്കിലും മാറ്റം വരുത്തിയാൽ അതിന്റെ ഐഡന്റിഫയറിലെ മാറ്റത്തിലേക്ക് നയിക്കുന്നു. ഹാഷിംഗ് അൽ‌ഗോരിതം കൂട്ടിമുട്ടുന്നത് സൈദ്ധാന്തികമായി ഹാഷിനൊപ്പം രണ്ട് വ്യത്യസ്ത ഡാറ്റ സെറ്റുകളുടെ രൂപവത്കരണത്തെ തടയില്ല.

നിർഭാഗ്യവശാൽ SHA-1 അൽ‌ഗോരിതം കൃത്രിമ കൂട്ടിയിടി രൂപീകരണത്തെ പ്രതിരോധിക്കുന്നില്ല, എന്നാൽ കൂട്ടിയിടികൾ കൈകാര്യം ചെയ്യുന്നതിലൂടെ ജിറ്റിലെ ഒബ്ജക്റ്റുകൾക്ക് പകരമുള്ള യഥാർത്ഥ ആക്രമണങ്ങളുടെ കമ്മീഷന്, ഇത് സാധ്യതയില്ല, കാരണം ഒരു പ്രത്യേക ഒബ്ജക്റ്റ് റദ്ദാക്കുന്നതിന് റദ്ദാക്കിയ ഒബ്ജക്റ്റിൽ ഇതിനകം ഒരു കൂട്ടിയിടി പാറ്റേൺ അടങ്ങിയിരിക്കേണ്ടത് ആവശ്യമാണ്, അതായത്, അനിയന്ത്രിതമായ ഒരു ബ്ലോക്ക് മാറ്റിസ്ഥാപിക്കാൻ കഴിയും.

ഓരോ കൂട്ടിയിടിക്കും വളരെയധികം കമ്പ്യൂട്ടിംഗ് ഉറവിടങ്ങൾ ആവശ്യമുള്ളതിനാൽ, ഇതിനകം കണക്കാക്കിയ ടെം‌പ്ലേറ്റുകൾ അറിയപ്പെടുന്നു അത് കൂട്ടിയിടികളിലേക്ക് നയിക്കുകയും മുമ്പത്തെ ജിറ്റിൽ ഒബ്‌ജക്റ്റുകളിൽ ഉപയോഗിക്കാനുള്ള ശ്രമങ്ങൾക്കായി ഒരു പരിശോധന ചേർക്കുകയും ചെയ്തു.

വികസനത്തിന്റെ ഈ ഘട്ടത്തിൽ, നിങ്ങൾക്ക് SHA-1 നും SHA-256 നും ഇടയിൽ മാത്രമേ തിരഞ്ഞെടുക്കാനാകൂ, എന്നാൽ ഇതുവരെ നിങ്ങൾക്ക് ഒരേ സമയം ഒരു ശേഖരത്തിൽ വ്യത്യസ്ത ഹാഷുകൾ സംയോജിപ്പിക്കാൻ കഴിയില്ല. കൂടാതെ, ഇപ്പോൾ വരെ, GitHub ഉൾപ്പെടെ ഒരു Git ദാതാവും SHA-256 ഹാഷുകളുള്ള സംഭരണികളെ പിന്തുണയ്ക്കുന്നില്ല. ഭാവിയിൽ പോർട്ടബിലിറ്റി സവിശേഷതകൾ ചേർക്കാൻ പദ്ധതികളുണ്ട്.

ഈ പുതിയ പതിപ്പിലെ മറ്റൊരു മാറ്റം കമാൻഡിലാണ് "Git ലഭ്യമാക്കുക", "git push" ഉള്ളവർക്ക് എക്‌സ്‌ക്ലൂസീവ് ലിങ്ക് സ്‌പെസിഫിക്കേഷനുകൾക്കുള്ള പിന്തുണ ചേർക്കുന്നു (refspec), പ്രാദേശിക, ബാഹ്യ സംഭരണികളിലെ ശാഖകൾ തമ്മിലുള്ള പൊരുത്തപ്പെടുന്ന ലിങ്ക് അവകാശങ്ങൾ വിപുലീകരിക്കുന്നു. റഫറൻസ് സവിശേഷതകൾ ഒഴിവാക്കുന്നത് നിങ്ങൾ തിരഞ്ഞെടുക്കേണ്ട സാഹചര്യങ്ങളിൽ മാത്രമല്ല, മാപ്പിംഗിൽ നിന്ന് ചില ശാഖകളെ ഒഴിവാക്കുകയും ചെയ്യും. ഉദാഹരണത്തിന്, ഒരു "refs / head / * ഒഴിവാക്കാൻ" ഒഴികെ എല്ലാ "refs / head / *" ശാഖകളും പരിശോധിക്കേണ്ട ആവശ്യമുള്ളപ്പോൾ, ആദ്യം ഓരോ ശാഖയും ഉൾപ്പെടെ ഒരു പൂർണ്ണമായ ലിസ്റ്റ് വ്യക്തമാക്കേണ്ടതുണ്ട്.

പുതിയ ഫീൽഡുകൾ "ഓരോന്നിനും ജിറ്റ്" എന്നതിലേക്ക് ചേർത്തു ഒബ്ജക്റ്റിന്റെ പേര്, തരം, ഐഡി എന്നിവയ്‌ക്ക് പുറമേ "-ഫോർമാറ്റ്" ഓപ്ഷൻ ഉപയോഗിച്ച് ഇത് വ്യക്തമാക്കാം. ഉദാഹരണത്തിന്, ചേർത്ത ഫീൽഡുകളുടെ ഉള്ളടക്കം: വലുപ്പം, വിഷയം: ശുചിത്വം, മോഡിഫയർ: ഹ്രസ്വ ഒബ്ജക്റ്റ് ഐഡന്റിഫയറുകൾ പ്രദർശിപ്പിക്കുന്നതിന് ഹ്രസ്വമാണ്. ഫിൽ‌റ്റർ‌ ലിങ്കുകൾ‌ക്കായി ഒന്നിലധികം "-മർ‌ഗെർ‌ഡ്", "ലയിപ്പിക്കാത്ത" ആർ‌ഗ്യുമെൻറുകൾ‌ വ്യക്തമാക്കാനും ഇത് അനുവദിച്ചിരിക്കുന്നു.

"ജിറ്റ് ലയനം" പ്രവർത്തന സമയത്ത് ഒരു പൊരുത്തക്കേട് സംഭവിക്കുമ്പോൾ, കമ്മിറ്റ് സന്ദേശ ശീർഷകം ഇപ്പോൾ കൂടുതൽ വ്യക്തമായി വേർതിരിക്കുന്നതിന് ബ്രാക്കറ്റുകളിലാണ് Git ഡയഗ്നോസ്റ്റിക് സന്ദേശങ്ങളിൽ നിന്നുള്ള കമ്മിറ്റ് ഡാറ്റ.

ഒരു പുതിയ ക്രമീകരണം "merge.renormalize" ചേർത്തു, സജ്ജമാക്കുമ്പോൾ, ത്രീ-വേ കോമ്പിനേഷന്റെ ഓരോ ഘട്ടത്തിലും ചെക്ക്- and ട്ട്, ചെക്ക്-ഇൻ പ്രവർത്തനങ്ങൾ നടത്തുന്നു.

ജിറ്റ് കമ്മ്യൂണിക്കേഷൻ പ്രോട്ടോക്കോളിന്റെ രണ്ടാമത്തെ പതിപ്പ് തിരികെയെത്തിച്ചു, ഇത് പതിപ്പ് 2.27 ൽ അപ്രാപ്തമാക്കി, ഒരു ക്ലയന്റ് വിദൂരമായി ഒരു ജിറ്റ് സെർവറിലേക്ക് കണക്റ്റുചെയ്യുമ്പോൾ ഇത് ഉപയോഗിക്കുന്നു. സ്ഥിരത പ്രശ്‌നങ്ങൾ സൃഷ്ടിക്കുന്ന ബഗ് കണ്ടെത്തി പരിഹരിച്ചു.

"-First-parent" ഓപ്ഷൻ "git bisect" കമാൻഡിലേക്ക് ചേർത്തു, ബന്ധിക്കുന്നു ഒരു പിന്തിരിപ്പൻ മാറ്റം സംഭവിച്ച പുനരവലോകനം തിരിച്ചറിയാൻ ഉപയോഗിക്കുന്നു, അറിയപ്പെടുന്ന പ്രവർത്തന അവലോകനത്തിനും പ്രശ്നം സംഭവിച്ച അവലോകനത്തിനും ഇടയിലുള്ള കമ്മിറ്റുകളുടെ തിരഞ്ഞെടുപ്പ് മാറ്റുന്നതിന്. നിങ്ങൾ "-ആദ്യ-രക്ഷകർത്താവ്" വ്യക്തമാക്കുകയാണെങ്കിൽ, ലയനം സ്വയം അവഗണിച്ചുകൊണ്ട് ലയിപ്പിച്ച ബ്രാഞ്ചിലെ കമ്മറ്റുകൾ മാത്രമേ കണക്കാക്കൂ.

ആന്തരിക കമാൻഡായ "git index-pack" ന്റെ കാര്യക്ഷമത മെച്ചപ്പെടുത്തി മൾട്ടി-കോർ സിസ്റ്റങ്ങളിൽ ഇൻഡെക്സ് പാക്കിംഗ് സമാന്തരമാക്കുമ്പോൾ "ജിറ്റ് പുഷ്" അല്ലെങ്കിൽ "ജിറ്റ് ഫെച്ച്" പ്രവർത്തിപ്പിക്കുമ്പോൾ ഉപയോഗിക്കുന്നു.

"Merge.suppressDest" ക്രമീകരണം ചേർത്തു, ഇത് ശാഖകൾ ലയിക്കുമ്പോൾ പുറപ്പെടുവിക്കുന്ന "മുമ്പ് $ അപ്സ്ട്രീമിൽ $ dest" എന്നതിലേക്ക് ലയിപ്പിക്കുക. ഇത് പ്രധാന ബ്രാഞ്ചിനായി സ്ഥിരസ്ഥിതിയായി കാണിക്കുന്നില്ല).

"സംഭാവന / mw-to-git" എന്ന ബാക്കെൻഡിൽ ഒരു ദുർബലത പരിഹരിച്ചു (സ്ഥിരസ്ഥിതിയായി നിർമ്മിച്ചിട്ടില്ല) മീഡിയവിക്കിയിൽ നിന്ന് ഡാറ്റ പുഷ് ചെയ്യാനും വീണ്ടെടുക്കാനും. ഒരു ആക്രമണകാരിയുടെ നിയന്ത്രണത്തിലുള്ള മീഡിയവിക്കി ഉദാഹരണത്തിലേക്ക് പ്രവേശിക്കുമ്പോൾ കോഡ് എക്സിക്യൂഷൻ ഓർഗനൈസുചെയ്യാൻ അനുവദിച്ച പ്രശ്നം.

അവസാനമായി, നിങ്ങൾക്ക് ഇതിനെക്കുറിച്ച് കൂടുതൽ അറിയണമെങ്കിൽ, നിങ്ങൾക്ക് വിശദാംശങ്ങൾ പരിശോധിക്കാൻ കഴിയും ഇനിപ്പറയുന്ന ലിങ്കിൽ.


ലേഖനത്തിന്റെ ഉള്ളടക്കം ഞങ്ങളുടെ തത്ത്വങ്ങൾ പാലിക്കുന്നു എഡിറ്റോറിയൽ എത്തിക്സ്. ഒരു പിശക് റിപ്പോർട്ടുചെയ്യാൻ ക്ലിക്കുചെയ്യുക ഇവിടെ.

അഭിപ്രായമിടുന്ന ആദ്യയാളാകൂ

നിങ്ങളുടെ അഭിപ്രായം ഇടുക

നിങ്ങളുടെ ഇമെയിൽ വിലാസം പ്രസിദ്ധീകരിച്ചു ചെയ്യില്ല.

*

*

  1. ഡാറ്റയുടെ ഉത്തരവാദിത്തം: മിഗുവൽ ഏഞ്ചൽ ഗാറ്റൻ
  2. ഡാറ്റയുടെ ഉദ്ദേശ്യം: സ്പാം നിയന്ത്രിക്കുക, അഭിപ്രായ മാനേജുമെന്റ്.
  3. നിയമസാധുത: നിങ്ങളുടെ സമ്മതം
  4. ഡാറ്റയുടെ ആശയവിനിമയം: നിയമപരമായ ബാധ്യതയല്ലാതെ ഡാറ്റ മൂന്നാം കക്ഷികളുമായി ആശയവിനിമയം നടത്തുകയില്ല.
  5. ഡാറ്റ സംഭരണം: ഒസെന്റസ് നെറ്റ്‌വർക്കുകൾ (ഇയു) ഹോസ്റ്റുചെയ്യുന്ന ഡാറ്റാബേസ്
  6. അവകാശങ്ങൾ: ഏത് സമയത്തും നിങ്ങളുടെ വിവരങ്ങൾ പരിമിതപ്പെടുത്താനും വീണ്ടെടുക്കാനും ഇല്ലാതാക്കാനും കഴിയും.