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

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

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

  • வெளியீடு 1.18 முதல் கிடைக்கிறது, புதிய கமிட் ரீபேஸ் பயன்முறை "git rebase --rebase-merges" பழைய "--preserve-merges" விருப்பத்தை மாற்றுகிறது, இது இப்போது நிறுத்தப்பட்டுள்ளது. "ஜிட் ரீபேஸ்" செயல்பாடு ஒரு புதிய அடிப்படை கமிட் மூலம் தொடர்ச்சியான கமிட்களுக்குப் பதிலாகப் பயன்படுத்தப்படுகிறது, எடுத்துக்காட்டாக, சில புதிய அம்சத்தை உருவாக்கும் ஒரு தனி கிளையை மாஸ்டர் கிளையின் தற்போதைய நிலைக்கு நகர்த்துவதற்குப் பயன்படுத்தப்படுகிறது, இதில் கிளைக்குப் பிறகு சேர்க்கப்பட்ட திருத்தங்கள் அடங்கும். :

    o - o - o (எனது அம்சம்)

    /

    o - o - o - o - o (மாஸ்டர்)

    o - o - o (எனது அம்சம்)

    /

    o - o - o - o - o (மாஸ்டர்)

    இடம்பெயர்ந்த கிளையில் கிளைக் கட்டமைப்பைப் பாதுகாக்க, "--preserve-merges" விருப்பத்தை முன்பு பயன்படுத்தலாம், இது ஊடாடும் பயன்முறையில் (git rebase -i --preserve-merges) இயங்கும் போது, ​​உறுதி வரலாற்றைத் திருத்த அனுமதித்தது, ஆனால் களஞ்சிய கட்டமைப்பின் முழுமையான பாதுகாப்பிற்கு உத்தரவாதம் அளிக்கவில்லை. புதிய “--rebase-merges” பயன்முறையானது, இடம்பெயர்ந்த கிளையில் ஏற்படும் மாற்றங்களின் கட்டமைப்பைப் பாதுகாக்க உங்களை அனுமதிக்கிறது, அதே நேரத்தில் கமிட்களை நீக்குதல், மீண்டும் ஒருங்கிணைத்தல் மற்றும் மறுபெயரிடுதல் உள்ளிட்ட முழு அளவிலான ஊடாடும் செயல்பாடுகளை வழங்குகிறது.

    எடுத்துக்காட்டாக, "--rebase-merges" அது அனுமதிக்கிறது ஒரு தனி கிளையிலிருந்து புதிய முதன்மைக் கிளைக்கு கமிட்களை மீண்டும் பதிவேற்றவும், அதே நேரத்தில் இடம்பெயர்ந்த கிளையில் கிளைக் கட்டமைப்பைப் பராமரிக்கவும், மேலும் பறக்கும் போது கமிட் குறிப்புகளில் சில மாற்றங்களைச் செய்யவும்.

  • “git branch new A...B” மற்றும் “git checkout -b new” ஆகிய கட்டுமானங்களைப் பயன்படுத்தி மற்ற இரண்டு கிளைகளின் (ஒன்றிணைப்பு அடிப்படை, ஒரு பொதுவான மூதாதையருடன் பிணைப்பு) ஒன்றிணைப்பு தளத்தை தீர்மானித்ததன் விளைவாக ஒரு புதிய கிளையை உருவாக்குவதற்கான ஆதரவு சேர்க்கப்பட்டது. A...B", இதில் "A ...B" என்பது இரண்டு குறிப்பிடப்பட்ட கமிட்களுக்கு இடையில் ஒரு இணைப்புத் தளத்தை வரையறுப்பதை உள்ளடக்கியது, "ஜிட் செக் அவுட் A...B" எப்படி HEAD ஐ பேஸ் கமிட் மற்றும் "diff A" க்கு மாற்றுகிறது. ..B" கமிட் "B" மற்றும் "A" "Ancestor என்பதற்கு இடையே உள்ள மாற்றங்களைக் காட்டுகிறது.

    எடுத்துக்காட்டாக, ஒரு தனி மை-ஃபீச்சர் கிளையில் பணிபுரியும் போது, ​​நீங்கள் வேறு கிளையிலிருந்து தொடங்க விரும்பும் போது இந்த அம்சத்தைப் பயன்படுத்தலாம், எடுத்துக்காட்டாக, மை-ஃபீச்சர் கிளை சரிபார்க்கப்பட்ட முதன்மை கிளையின் அதே இடத்திலிருந்து. முன்னதாக, இதற்கு மாற்றப் பதிவை கைமுறையாக ஆய்வு செய்ய வேண்டியிருந்தது, இது உங்களுக்கு பெரிய மாற்றங்கள் ஏற்பட்டிருந்தால் சிரமமாக இருக்கும், பின்னர் மாஸ்டர் மற்றும் மை-ஃபீச்சர் கிளைகளுக்கு இடையேயான ஒன்றிணைப்பு தளத்தின் ஹாஷைக் கணக்கிட "git merge-base master my-feature"ஐ இயக்கவும். மற்றும் பொதுவான மூதாதையருடன் தொடர்புடைய புதிய கிளையை உருவாக்குதல் " git கிளை my-other-feature hash." Git 2.22 இல், "git branch my-other-feature A...B" என்ற தொடரியலைப் பயன்படுத்தி மற்ற இரண்டு கிளைகளின் இணைப்புத் தளத்துடன் தொடர்புடைய கிளையை உருவாக்கலாம்;

  • செக் அவுட் செயல்பாட்டின் போது பெறப்பட்ட கிளையின் பெயரைக் காண்பிக்க "git branch --show-current" விருப்பம் சேர்க்கப்பட்டது;
  • “git checkout —no-overlay — dir” விருப்பம் சேர்க்கப்பட்டது, இது ஒரு செக் அவுட் செயல்பாட்டைச் செய்யும்போது, ​​dir கோப்பகத்தின் உள்ளடக்கங்களை முதன்மைக் கிளையின் நிலைக்கு முழுமையாக ஒத்திருக்கும் படிவத்திற்குக் கொண்டுவர அனுமதிக்கிறது. எடுத்துக்காட்டாக, முதன்மைக் கிளையில் இல்லாத dir கோப்பகத்தின் உள்ளூர் நகலில் கோப்பு இருந்தால், இயல்பாகவே “git checkout master - dir” ஐ இயக்கும் போது அது விடப்படும், மேலும் “--no-overlay என்றால் ” விருப்பம் குறிப்பிடப்பட்டுள்ளது, அது நீக்கப்படும்;
  • "git diff" கட்டளையானது பாகுபடுத்தும் விருப்பங்களுக்கு உலகளாவிய API ஐப் பயன்படுத்துகிறது, இது மற்ற git பயன்பாடுகளுடன் விருப்ப கையாளுதலை ஒருங்கிணைக்க உதவுகிறது. எடுத்துக்காட்டாக, “git diff” இல், எல்லா விருப்பங்களும் இப்போது அவற்றின் எதிரிகளைக் கொண்டுள்ளன (“--செயல்பாடு-சூழல்” மற்றும் “--நோ-செயல்பாடு-சூழல்”);
  • "ஜிட் லாக்" வெளியீட்டில் உள்ள கமிட்களுடன் இணைக்கப்பட்ட நீட்டிக்கப்பட்ட குறிச்சொற்களை வடிகட்டுவதற்கான திறன் சேர்க்கப்பட்டது ("டிரெய்லர்" - கையொப்பமிடப்பட்ட மற்றும் இணை-ஆசிரியர் போன்ற கூடுதல் தகவல் கொடிகள்). விசை மற்றும் மதிப்பு இரண்டிலும் லேபிள்களை வடிகட்ட முடியும், எடுத்துக்காட்டாக:
    "git log --pretty="%(டிரெய்லர்கள்:விசை = மதிப்பாய்வு செய்யப்பட்டது, மதிப்பு மட்டும்)";

  • ஒரு புதிய டிரேசிங் எஞ்சின், ட்ரேஸ்2 சேர்க்கப்பட்டுள்ளது, இது மிகவும் நெகிழ்வான மற்றும் கட்டமைக்கப்பட்ட வெளியீட்டு வடிவமைப்பை வழங்குகிறது. மேலும் விரிவான பகுப்பாய்வு மற்றும் பிழைத்திருத்தத்திற்காக செயல்படுத்தப்பட்ட செயல்பாடுகள் மற்றும் செயல்திறன் தரவு பற்றிய டெலிமெட்ரியை சேகரிக்க ட்ரேஸ்2 உங்களை அனுமதிக்கிறது (ஹேண்ட்லர் பயனரால் ஒதுக்கப்படும், எந்த தரவும் வெளிப்புறமாக அனுப்பப்படாது);
  • "ஜிட் பைசெக்ட்" அறிக்கை மிகவும் படிக்கக்கூடியதாக மாற்றப்பட்டுள்ளது, இதில் பிரச்சனைக்குரிய கமிட்கள் இப்போது மிகத் தெளிவாக எடுத்துக்காட்டப்பட்டு ஒவ்வொரு கோப்பிற்கான மாற்றங்களின் சுருக்கமான புள்ளிவிவரங்கள் காட்டப்படும் (மாற்றப்பட்ட வரிகளின் எண்ணிக்கையின் அளவில்);
  • பெயரிடும் லேபிள்களின் தவறான நிறுவலை அகற்ற, அடைவு மறுபெயரைத் தீர்மானிப்பதற்கான ஹூரிஸ்டிக்ஸ் மறுவேலை செய்யப்பட்டுள்ளது. சந்தேகம் இருந்தால், அத்தகைய கோப்பகங்கள் இப்போது முரண்பட்டதாகக் குறிக்கப்பட்டுள்ளன;
  • நீங்கள் மற்றொரு குறிச்சொல்லில் ஒரு குறிச்சொல்லை நிறுவ முயலும்போது ஒரு எச்சரிக்கை காட்டப்படும், இது வழக்கமாக தவறுதலாக செய்யப்படுகிறது மற்றும் தவறான உறுதிமொழியில் குறிச்சொல் அமைக்க வழிவகுக்கும் (உதாரணமாக, "git tag -f -m "updated message" போன்ற கட்டுமானம் my-tag1 my- tag2″ ஆனது பழைய குறிச்சொல்லில் ஒரு குறிச்சொல் உருவாக்கப்படும், அதேசமயம் டெவலப்பர் புதிய குறிச்சொல்லை பழைய குறிச்சொல் மூலம் சுட்டிக்காட்டப்பட்ட உறுதிமொழியில் நிறுவப்படும் என்று எதிர்பார்க்கிறார்);
  • பிட்மேப் களஞ்சியங்களுக்கு (டிஸ்க்-அடிப்படையிலான "அடையக்கூடிய பிட்மேப்கள்" அமைப்பு) ஜெனரேஷன் இயக்கப்படுகிறது, இது ஒவ்வொரு கமிட்டிற்கும் கிடைக்கும் பொருட்களின் தொகுப்புகளைப் பற்றிய தரவைச் சேமித்து, அடிப்படை பொருளின் இருப்பை விரைவாகக் கண்டறிய உங்களை அனுமதிக்கிறது. இந்த அமைப்பு தரவு மீட்டெடுப்பு செயல்பாடுகளின் (ஜிட் ஃபெட்ச்) செயல்படுத்தும் நேரத்தை கணிசமாகக் குறைக்கிறது.

ஆதாரம்: opennet.ru

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