{"id":99450,"date":"2021-03-16T16:22:41","date_gmt":"2021-03-16T14:22:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-raspredelyonnoj-sistemy-upravleniya-ishodnymi-tekstami-git-2-31"},"modified":"2021-03-16T16:22:41","modified_gmt":"2021-03-16T14:22:41","slug":"vypusk-raspredelyonnoj-sistemy-upravleniya-ishodnymi-tekstami-git-2-31","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/news\/vypusk-raspredelyonnoj-sistemy-upravleniya-ishodnymi-tekstami-git-2-31","title":{"rendered":"Vydanie distribuovan\u00e9ho syst\u00e9mu spr\u00e1vy zdrojov\u00fdch k\u00f3dov Git 2.31","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Je k dispoz\u00edcii vydanie distribuovan\u00e9ho syst\u00e9mu spr\u00e1vy zdrojov\u00e9ho k\u00f3du Git 2.31. Git je jedn\u00fdm z najpopul\u00e1rnej\u0161\u00edch, najspo\u013eahlivej\u0161\u00edch a vysoko v\u00fdkonn\u00fdch syst\u00e9mov spr\u00e1vy verzi\u00ed, ktor\u00fd poskytuje flexibiln\u00e9 prostriedky pre neline\u00e1rny v\u00fdvoj zalo\u017een\u00fd na vetven\u00ed a zl\u00fa\u010den\u00ed. Na zabezpe\u010denie integrity hist\u00f3rie a odolnosti vo\u010di \u201esp\u00e4tn\u00fdm\u201c zmen\u00e1m sa pou\u017e\u00edva implicitn\u00fd hash celej predch\u00e1dzaj\u00facej hist\u00f3rie v ka\u017edom commite, pri\u010dom je tie\u017e mo\u017en\u00e9 overi\u0165 digit\u00e1lnymi podpismi v\u00fdvoj\u00e1rov jednotliv\u00e9 tagy a commity.       <\/p>\n<p>V porovnan\u00ed s predch\u00e1dzaj\u00facim vydan\u00edm obsahuje nov\u00e1 verzia 679 zmien, ktor\u00e9 pripravilo 85 v\u00fdvoj\u00e1rov, z ktor\u00fdch 23 sa z\u00fa\u010dastnilo na v\u00fdvoji po prv\u00fdkr\u00e1t. Hlavn\u00e9 novinky:  <\/p>\n<ul>\n<li class=\"l\"> Bola pridan\u00e1 pr\u00edkazov\u00e1 funkcia \u201egit maintenance\u201c, ktor\u00e1 umo\u017e\u0148uje vykon\u00e1va\u0165 periodick\u00e9 \u00falohy na syst\u00e9mov, ktor\u00e9 nepodporuj\u00fa cron. Napr\u00edklad pomocou novej pr\u00edkazovej funkcie je mo\u017en\u00e9 usporiada\u0165 periodick\u00e9 sp\u00fa\u0161\u0165anie procesu balenia repozit\u00e1ra, aby sa ne\u010dakalo na dokon\u010denie blokovania repozit\u00e1ra po\u010das automatick\u00e9ho vykon\u00e1vania balenia pri sp\u00fa\u0161\u0165an\u00ed r\u00f4znych pr\u00edkazov. Pr\u00edkaz \u201egit maintenance\u201c umo\u017e\u0148uje vykon\u00e1va\u0165 optimaliz\u00e1cie a \u00fadr\u017ebov\u00e9 oper\u00e1cie optim\u00e1lnej \u0161trukt\u00fary repozit\u00e1ra na pozad\u00ed, bez blokovania interakt\u00edvnej rel\u00e1cie \u2014 raz za hodinu prebieha pr\u00e1ca na predpokladanej na\u010d\u00edtan\u00ed \u010derstv\u00fdch objektov z vzdialen\u00e9ho repozit\u00e1ra a aktualiz\u00e1cii s\u00faboru s grafom commitov, a ka\u017ed\u00fa noc sa sp\u00fa\u0161\u0165a proces balenia repozit\u00e1ra.\n<li class=\"l\"> Pridan\u00e1 podpora vedenia na disku reverzn\u00e9ho indexu (revindex) pre pack s\u00fabory. Pripome\u0148me, \u017ee Git uchov\u00e1va v\u0161etky d\u00e1ta vo forme objektov, ktor\u00e9 s\u00fa umiestnen\u00e9 v samostatn\u00fdch s\u00faboroch. Na zv\u00fd\u0161enie efektivity pr\u00e1ce s repozit\u00e1rom s\u00fa objekty navy\u0161e umiestnen\u00e9 v pack s\u00faboroch, kde je inform\u00e1cia prezentovan\u00e1 vo forme toku objektov, ktor\u00e9 nasleduj\u00fa jeden za druh\u00fdm (analogick\u00fd form\u00e1t sa pou\u017e\u00edva pri prenose objektov pr\u00edkazmi git fetch a git push). Pre ka\u017ed\u00fd pack s\u00fabor sa vytv\u00e1ra indexov\u00fd s\u00fabor (.idx), ktor\u00fd umo\u017e\u0148uje ve\u013emi r\u00fdchlo ur\u010di\u0165 posun v pack s\u00fabore pod\u013ea identifik\u00e1tora objektu, v ktorom je tento objekt ulo\u017een\u00fd. Navrhnut\u00fd v Git 2.31 reverzn\u00fd index (.rev) je zameran\u00fd na optimaliz\u00e1ciu procesu ur\u010denia identifik\u00e1tora objektu na z\u00e1klade inform\u00e1ci\u00ed o umiestnen\u00ed objektu v pack s\u00fabore.\n<p>Predt\u00fdm sa tak\u00e9to transform\u00e1cie vykon\u00e1vali na\u017eivo po\u010das spracovania pack s\u00faboru a uchov\u00e1vali sa iba v pam\u00e4ti, \u010do neumo\u017enilo op\u00e4tovn\u00e9 pou\u017eitie tak\u00fdchto indexov a vyn\u00fatilo generovanie indexu zaka\u017ed\u00fdm. Oper\u00e1cia vytv\u00e1rania indexu spo\u010d\u00edva v zostaven\u00ed po\u013ea z p\u00e1rov \u201eobjekt-poz\u00edcia\u201c a jeho trieden\u00ed pod\u013ea poz\u00edcie, \u010do m\u00f4\u017ee trva\u0165 ve\u013ea \u010dasu pre ve\u013ek\u00e9 pack s\u00fabory.     <\/p>\n<p>Napr\u00edklad oper\u00e1cia v\u00fdstupu obsahu objektov, pri ktorej sa pou\u017e\u00edva priamy index, bola vykonan\u00e1 62-kr\u00e1t r\u00fdchlej\u0161ie ako oper\u00e1cia zobrazovania ve\u013ekosti objektov, pre ktor\u00fa \u00fadaje o spojen\u00ed poz\u00edcie s objektom neboli indexovan\u00e9. Po pou\u017eit\u00ed sp\u00e4tn\u00e9ho indexu trvali uveden\u00e9 oper\u00e1cie pribli\u017ene rovnak\u00fd \u010das. Sp\u00e4tn\u00e9 indexy tie\u017e umo\u017e\u0148uj\u00fa ur\u00fdchli\u0165 oper\u00e1cie odosielania objektov pri vykon\u00e1van\u00ed pr\u00edkazov fetch a push prostredn\u00edctvom priameho prenosu u\u017e pripraven\u00fdch d\u00e1t z disku. Predvolene sa sp\u00e4tn\u00e9 indexy nevytv\u00e1raj\u00fa, na ich generovanie je potrebn\u00e9 aktivova\u0165 nastavenie 'git config pack.writeReverseIndex true' s n\u00e1sledn\u00fdm zabalen\u00edm repozit\u00e1ra pr\u00edkazom 'git repack -Ad'.    <\/p>\n<li class=\"l\"> Bol pridan\u00fd v\u00fdkonov\u00e9 optimaliz\u00e1cie zalo\u017een\u00e9 na vzniku vo form\u00e1te commit-graph, ktor\u00fd sa pou\u017e\u00edva na optimaliz\u00e1ciu pr\u00edstupu k inform\u00e1ci\u00e1m o commitoch, nov\u00e9 \u00fadaje o \u010d\u00edsle gener\u00e1cie commitu, ktor\u00e9 m\u00f4\u017eu by\u0165 pou\u017eit\u00e9 na ur\u00fdchlenie \u010fal\u0161\u00edch oper\u00e1ci\u00ed s commitmi.\n<li class=\"l\"> Roz\u0161\u00edren\u00e9 mo\u017enosti pre predefinovanie n\u00e1zvu hlavnej vetvy, ktor\u00e1 sa \u0161tandardne pou\u017e\u00edva v nov\u00fdch repozit\u00e1roch (nastavenie init.defaultBranch). Pri pr\u00edstupe k extern\u00fdm repozit\u00e1rom sa git sna\u017e\u00ed z\u00edska\u0165 vetvu, na ktor\u00fa odkazuje HEAD, t.j. ak extern\u00fd <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sk\/server\/\"   title=\"server\" data-wpil-keyword-link=\"linked\">server<\/a> pou\u017e\u00edva predvolene vetvu 'main', pri\u010dom oper\u00e1cia 'git clone' sa pok\u00fasi lok\u00e1lne extrahova\u0165 'main'. V Git 2.31 je podpora tak\u00e9hoto extrahovania teraz implementovan\u00e1 aj pre pr\u00e1zdne repozit\u00e1re. Napr\u00edklad pri lok\u00e1lnom klonovan\u00ed nov\u00e9ho repozit\u00e1ra pred pridan\u00edm prv\u00fdch patchov bude lok\u00e1lna k\u00f3pia teraz obsahova\u0165 nastaven\u00e9 na externom. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sk\/server\/dts-dronten\/\"   title=\"serveri\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2621\">serveri<\/a> n\u00e1zov hlavnej vetvy predvolene.\n<li class=\"l\"> Do pr\u00edkazu 'git rev-list' bola pridan\u00e1 mo\u017enos\u0165 '--disk-usage', ktor\u00e1 umo\u017e\u0148uje zobrazi\u0165 s\u00fahrnn\u00e9 \u00fadaje o ve\u013ekosti objektov.\n<li class=\"l\"> V o\u010dak\u00e1van\u00ed nadch\u00e1dzaj\u00facej v\u00fdmeny backendu pre vykon\u00e1vanie zl\u00fa\u010den\u00edn bolo v\u00fdrazne optimalizovan\u00e9 ur\u010dovanie premenovan\u00ed.\n<li class=\"l\"> Podpora zastaralej kni\u017enice regul\u00e1rnych v\u00fdrazov PCRE1 bola ukon\u010den\u00e1.\n<li class=\"l\"> Poskytla sa mo\u017enos\u0165 n\u00faten\u00e9ho z\u00e1kazu pou\u017e\u00edvania skr\u00e1ten\u00fdch odkazov, ktor\u00e1 plat\u00ed nez\u00e1visle od algoritmu hashovania. Z\u00e1kaz sa aktivuje nastaven\u00edm hodnoty 'no' parametru core.abbrev.\n<li class=\"l\"> Do pr\u00edkazu 'git rev-parse' bola pridan\u00e1 mo\u017enos\u0165 '--path-format=(absolute|relative)' na explicitn\u00e9 ur\u010denie v\u00fdstupu relat\u00edvnych alebo absol\u00fatnych ciest.\n<li class=\"l\"> V skriptoch pre automatick\u00e9 doplnenie vstupu v Bash sa zjednodu\u0161ilo pridanie pravidiel doplnenia pre vlastn\u00e9 podpr\u00edkazy 'git'.\n<li class=\"l\"> Do pr\u00edkazu 'git bundle' bola pridan\u00e1 mo\u017enos\u0165 '--stdin' na \u010d\u00edtanie odkazov zo \u0161tandardn\u00e9ho vstupn\u00e9ho toku.\n<li class=\"l\"> Do pr\u00edkazu 'git log' bola pridan\u00e1 nov\u00e1 mo\u017enos\u0165 '--diff-merges='.\n<li class=\"l\"> Do pr\u00edkazu 'git ls-files' bola pridan\u00e1 mo\u017enos\u0165 '--deduplicatecan' na odstr\u00e1nenie duplicitn\u00fdch z\u00e1znamov pri v\u00fdstupe.\n<li class=\"l\"> Boli pridan\u00e9 nov\u00e9 masky na vyl\u00fa\u010denie rozsahu commitov \u2014 '^!' a '^-'.\n<li class=\"l\"> Do pr\u00edkazu 'git range-diff' boli pridan\u00e9 mo\u017enosti '--left-only' a '--right-only' na zobrazenie len jednej strany porovn\u00e1van\u00e9ho rozsahu.\n<li class=\"l\"> Do t\u00edmov &#171;git diff&#187; a &#171;git log&#187; boli pridan\u00e9 mo\u017enosti &#8212;skip-to=&#187; a &#171;&#8212;rotate-to=&#187; na presko\u010denie alebo presunutie na koniec po\u010diato\u010dn\u00fdch ciest.\n<li class=\"l\"> Do t\u00edmu &#171;git difftool&#187; bola pridan\u00e1 mo\u017enos\u0165 &#171;&#8212;skip-to=&#187; na obnovenie preru\u0161en\u00e9ho sedenia z \u013eubovo\u013enej cesty.\n<li class=\"l\"> K\u00f3dex spr\u00e1vania (Code-of-conduct), ktor\u00fd ur\u010duje z\u00e1kladn\u00e9 princ\u00edpy rie\u0161enia konfliktov medzi v\u00fdvoj\u00e1rmi, bol aktualizovan\u00fd na verziu 2.0 (predt\u00fdm sa pou\u017e\u00edvala verzia 1.4).<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=54765\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438 Git 2.31. Git \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445, \u043d\u0430\u0434\u0451\u0436\u043d\u044b\u0445 \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0439 \u0433\u0438\u0431\u043a\u0438\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u043d\u0435\u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0431\u0430\u0437\u0438\u0440\u0443\u044e\u0449\u0438\u0435\u0441\u044f \u043d\u0430 \u043e\u0442\u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0438 \u0438 \u0441\u043b\u0438\u044f\u043d\u0438\u0438 \u0432\u0435\u0442\u043e\u043a. \u0414\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0438 \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u0438 \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c &#171;\u0437\u0430\u0434\u043d\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c&#187; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043d\u0435\u044f\u0432\u043d\u043e\u0435 \u0445\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u0439 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u043a\u043e\u043c\u043c\u0438\u0442\u0435, \u0442\u0430\u043a\u0436\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u0435\u043d\u0438\u0435 \u0446\u0438\u0444\u0440\u043e\u0432\u044b\u043c\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-99450","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438 Git 2.31.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sk\/blog\/news\/vypusk-raspredelyonnoj-sistemy-upravleniya-ishodnymi-tekstami-git-2-31\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438 Git 2.31 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438 Git 2.31.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/news\/vypusk-raspredelyonnoj-sistemy-upravleniya-ishodnymi-tekstami-git-2-31\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-03-16T14:22:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-03-16T14:22:41+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Vydanie distribuovan\u00e9ho syst\u00e9mu spr\u00e1vy zdrojov\u00e9ho k\u00f3du Git 2.31 | ProHoster","description":"Vydanie distribuovan\u00e9ho syst\u00e9mu spr\u00e1vy zdrojov\u00e9ho k\u00f3du Git 2.31 je k dispoz\u00edcii.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/news\/vypusk-raspredelyonnoj-sistemy-upravleniya-ishodnymi-tekstami-git-2-31","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438 Git 2.31 | ProHoster","og:description":"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438 Git 2.31.","og:url":"https:\/\/prohoster.info\/sk\/blog\/news\/vypusk-raspredelyonnoj-sistemy-upravleniya-ishodnymi-tekstami-git-2-31","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-03-16T14:22:41+00:00","article:modified_time":"2021-03-16T14:22:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"99450","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-16 14:26:20","updated":"2026-02-09 21:38:09","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/99450","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=99450"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/99450\/revisions"}],"predecessor-version":[{"id":172923,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/99450\/revisions\/172923"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=99450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=99450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=99450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}