ослобађање дистрибуираног система за контролу извора . Гит је један од најпопуларнијих, најпоузданијих и система за контролу верзија високих перформанси, који пружа флексибилне нелинеарне развојне алате засноване на гранању и спајању. Да би се обезбедио интегритет историје и отпорност на ретроактивне промене, користи се имплицитно хеширање целокупне претходне историје у сваком урезивању, а такође је могуће сертификовати појединачне ознаке и урезивања дигиталним потписима програмера.
У поређењу са претходним издањем, нова верзија је укључивала 745 измена, припремљених уз учешће 74 програмера, од којих је 18 учествовало у развоју по први пут. :
- Доступан од издања 1.18, нови режим ребасе урезивања „гит ребасе --ребасе-мергес“ замењује стару опцију „--пресерве-мергес“, која је сада застарела. Операција „гит ребасе“ се користи за замену серије урезивања новом базном урезивањем, на пример, да премести засебну грану која развија неку нову функцију у тренутно стање главне гране, што укључује исправке додате после гране :
о - о - о (моја карактеристика)
/
о - о - о - о - о (мајстор)
о - о - о (моја карактеристика)
/
о - о - о - о - о (мајстор)
Да би се очувала структура гранања у мигрираној грани, раније је могла да се користи опција „--пресерве-мергес“, која је, када је покренута у интерактивном режиму (гит ребасе -и --пресерве-мергес), омогућавала уређивање историје урезивања, али није гарантовао потпуно очување структуре спремишта. Нови режим „--ребасе-мергес“ вам омогућава да сачувате структуру промена у грани која се мигрира, истовремено пружајући читав низ интерактивних операција, укључујући брисање, прегруписавање и преименовање урезивања.
На пример, "--ребасе-мергес" поново отпремите урезивање из посебне гране у новију главну грану, уз одржавање структуре гране у мигрираној грани, и направите неке измене у белешкама урезивања у ходу.
- Додата подршка за креирање нове гране на основу резултата одређивања базе спајања две друге гране (база спајања, везивање за заједничког претка) коришћењем конструкција „гит бранцх нев А...Б“ и „гит цхецкоут -б нев А...Б“, у којој „А ...Б“ укључује дефинисање базе спајања између два наведена урезивања, слично као што „гит цхецкоут А...Б“ помера ХЕАД на основно урезивање и „дифф А. ..Б" показује промене између урезивања "Б" и истог као и урезивања "А" "Предак.
На пример, када радите на засебној грани моје функције, ова функција се може користити када желите да почнете са друге гране, на пример, са истог места у главној грани са које је одјављена грана ми-феатуре. Раније је ово захтевало ручно испитивање евиденције промена, што је било незгодно ако сте имали велику историју промена, затим покретање „гит мерге-басе мастер ми-феатуре“ да бисте израчунали хеш базе спајања између грана мастер и ми-феатуре и креирање нове гране у односу на заједничког претка „гит грана ми-отхер-феатуре хасх.“ У Гиту 2.22, можете користити синтаксу "гит грана моја-друга-функција А...Б" да креирате грану у односу на основу спајања две друге гране;
- Додата опција "гит бранцх --схов-цуррент" за приказ имена гране добијене током операције плаћања;
- Додата је опција „гит цхецкоут —но-оверлаи — дир“, која омогућава, када се изврши операција преузимања, да се садржај директоријума дир доведе у форму која у потпуности одговара стању главне гране. На пример, ако постоји датотека у локалној копији директоријума дир која није у главној грани, онда ће подразумевано када се изврши „гит цхецкоут мастер - дир“ она бити остављена, а ако „--но-оверлаи ” је наведена опција, биће избрисана;
- Команда "гит дифф" користи универзални АПИ за рашчлањивање опција, што омогућава обједињавање руковања опцијама са другим гит услужним програмима. На пример, у "гит дифф", све опције сада имају своје антагонисте ("--фунцтион-цонтект" и "--но-фунцтион-цонтект");
- Додата је могућност филтрирања проширених ознака прикачених на урезивања у излазу „гит лог“ („траилер“ - додатне информације заставице, као што су Сигнед-офф-би и Цо-аутхоред-би). Могуће је филтрирати ознаке и по кључу и по вредности, на пример:
"гит лог --претти="%(траилерс:кеи=Ревиевед-би,валуеонли)"; - Додан је нови механизам за праћење, Траце2, који нуди флексибилнији и структуриранији излазни формат. Траце2 вам омогућава да прикупите телеметрију о извршеним операцијама и подацима о перформансама за детаљнију анализу и отклањање грешака (управљач додељује корисник, никакви подаци се не шаљу екстерно);
- Извештај „гит бисецт“ је учињен читљивијим, у коме су проблематична урезивања сада јасније истакнута и збирна статистика о променама за сваку датотеку је приказана (на нивоу броја промењених редова);
- Хеуристика за одређивање преименовања директоријума је прерађена да би се елиминисала лажна инсталација ознака за преименовање. Када сте у недоумици, такви именици су сада означени као конфликтни;
- Упозорење се приказује када покушате да инсталирате ознаку на другу ознаку, што се обично ради грешком и може довести до постављања ознаке на погрешно урезивање (на пример, конструкција попут „гит таг -ф -м „ажурирана порука“ ми-таг1 ми-таг2″ ће резултирати креирањем ознаке на старој ознаци, док је програмер очекивао да ће нова ознака бити инсталирана на урезивање на које указује стара ознака);
- Генерисање је омогућено за ризнице битмапа (структура „реацхабилити битмап“ заснована на диску), која чувају податке о скуповима објеката доступних за свако урезивање и омогућавају вам да брзо утврдите присуство основног објекта. Ова структура значајно смањује време извршавања операција преузимања података (гит фетцх).
Извор: опеннет.ру
