{"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\/pl\/blog\/news\/vypusk-raspredelyonnoj-sistemy-upravleniya-ishodnymi-tekstami-git-2-31","title":{"rendered":"Wydanie rozproszonego systemu zarz\u0105dzania kodem \u017ar\u00f3d\u0142owym Git 2.31","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dost\u0119pna jest wersja rozproszonego systemu zarz\u0105dzania kodem \u017ar\u00f3d\u0142owym Git 2.31. Git to jeden z najpopularniejszych, niezawodnych i wydajnych system\u00f3w kontroli wersji, oferuj\u0105cy elastyczne narz\u0119dzia do nieliniowego rozwoju, oparte na rozga\u0142\u0119zianiu i scalaniu ga\u0142\u0119zi. Aby zapewni\u0107 integralno\u015b\u0107 historii i odporno\u015b\u0107 na zmiany &#171;z retrospektywy&#187;, stosowane jest domy\u015blne haszowanie ca\u0142ej poprzedniej historii w ka\u017cdym commicie, mo\u017cliwe jest tak\u017ce uwierzytelnienie cyfrowymi podpisami deweloper\u00f3w poszczeg\u00f3lnych tag\u00f3w i commit\u00f3w.       <\/p>\n<p>W por\u00f3wnaniu do poprzedniej wersji, nowa wersja zawiera 679 zmian, przygotowanych przez 85 deweloper\u00f3w, z czego 23 bra\u0142o udzia\u0142 w projekcie po raz pierwszy. G\u0142\u00f3wne nowo\u015bci:  <\/p>\n<ul>\n<li class=\"l\"> Dodano polecenie &#171;git maintenance&#187;, kt\u00f3re umo\u017cliwia wykonywanie okresowych prac w systemach, kt\u00f3re nie obs\u0142uguj\u0105 cron. Na przyk\u0142ad dzi\u0119ki nowemu poleceniu mo\u017cna zorganizowa\u0107 regularne uruchamianie procesu pakowania repozytori\u00f3w, aby nie czeka\u0107 na zako\u0144czenie zablokowania repozytorium podczas automatycznego pakowania podczas wykonywania r\u00f3\u017cnych polece\u0144. Polecenie &#171;git maintenance&#187; pozwala na wykonywanie optymalizacji i operacje utrzymania optymalnej struktury repozytorium w tle, nie blokuj\u0105c interaktywnej sesji &#8212; co godzin\u0119 wykonywana jest praca nad prewencyjnym \u0142adowaniem nowych obiekt\u00f3w z zdalnego repozytorium oraz aktualizacj\u0105 pliku z grafem commit\u00f3w, a ka\u017cdej nocy uruchamiany jest proces pakowania repozytorium.\n<li class=\"l\"> Dodano wsparcie dla prowadzenia na dysku odwrotnego indeksu (revindex) dla plik\u00f3w pakiet\u00f3w. Przypomnijmy, \u017ce Git przechowuje wszystkie dane w formie obiekt\u00f3w, kt\u00f3re s\u0105 umieszczane w oddzielnych plikach. Aby zwi\u0119kszy\u0107 wydajno\u015b\u0107 pracy z repozytorium, obiekty s\u0105 dodatkowo umieszczane w plikach pakiet\u00f3w, w kt\u00f3rych informacje przedstawione s\u0105 w formie strumienia obiekt\u00f3w nast\u0119puj\u0105cych po sobie (analogiczny format u\u017cywany jest podczas przesy\u0142ania obiekt\u00f3w poleceniami git fetch i git push). Dla ka\u017cdego pliku pakietu tworzony jest plik indeksowy (.idx), kt\u00f3ry pozwala na szybkie okre\u015blenie offsetu w pliku pakietu na podstawie identyfikatora obiektu, w kt\u00f3rym przechowywany jest dany obiekt. Wprowadzony w Git 2.31 odwrotny indeks (.rev) ma na celu optymalizacj\u0119 procesu okre\u015blania identyfikatora obiektu na podstawie informacji o lokalizacji obiektu w pliku pakietu.\n<p>Wcze\u015bniej taka konwersja by\u0142a wykonywana dora\u017anie podczas analizy pliku pack i by\u0142a przechowywana tylko w pami\u0119ci, co nie pozwala\u0142o na ponowne wykorzystanie podobnych indeks\u00f3w i zmusza\u0142o do generowania indeksu za ka\u017cdym razem. Operacja budowania indeksu sprowadza si\u0119 do stworzenia tablicy z par &#171;obiekt-pozycja&#187; i posortowania jej wed\u0142ug pozycji, co mo\u017ce zajmowa\u0107 du\u017co czasu w przypadku du\u017cych plik\u00f3w pack.     <\/p>\n<p>Na przyk\u0142ad operacja wyprowadzania zawarto\u015bci obiekt\u00f3w, w kt\u00f3rej u\u017cyto indeksu bezpo\u015bredniego, wykonywa\u0142a si\u0119 62 razy szybciej ni\u017c operacja pokazywania rozmiaru obiekt\u00f3w, dla kt\u00f3rej dane o powi\u0105zaniu pozycji z obiektem nie by\u0142y indeksowane. Po zastosowaniu indeksu odwrotnego wskazane operacje zacz\u0119\u0142y zajmowa\u0107 mniej wi\u0119cej ten sam czas. Indeksy odwrotne pozwalaj\u0105 r\u00f3wnie\u017c przyspieszy\u0107 operacje wysy\u0142ania obiekt\u00f3w podczas wykonywania polece\u0144 fetch i push dzi\u0119ki bezpo\u015bredniemu przesy\u0142aniu ju\u017c gotowych danych z dysku. Domy\u015blnie indeksy odwrotne nie s\u0105 tworzone, aby je wygenerowa\u0107, nale\u017cy w\u0142\u0105czy\u0107 opcj\u0119 \u201egit config pack.writeReverseIndex true\u201d w po\u0142\u0105czeniu z nast\u0119pnie zapakowaniem repozytorium poleceniem \u201egit repack -Ad\u201d.    <\/p>\n<li class=\"l\"> Dodano optymalizacje wydajno\u015bci oparte na wprowadzeniu w formacie pliku commit-graph, u\u017cywanym do optymalizacji dost\u0119pu do informacji o commitach, nowych danych o numerze generacji commit\u00f3w, kt\u00f3re mog\u0105 by\u0107 u\u017cywane do przyspieszania dodatkowych operacji z commitami.\n<li class=\"l\"> Rozszerzone mo\u017cliwo\u015bci nadpisywania domy\u015blnej nazwy g\u0142\u00f3wnej ga\u0142\u0119zi w nowych repozytoriach (ustawienie init.defaultBranch). Przy dost\u0119pie do zewn\u0119trznych repozytori\u00f3w git pr\u00f3buje wydoby\u0107 ga\u0142\u0105\u017a, na kt\u00f3r\u0105 wskazuje HEAD, tzn. je\u015bli zewn\u0119trzne <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/server\/\"   title=\"serwer\" data-wpil-keyword-link=\"linked\">serwer<\/a> Domy\u015blnie u\u017cywa ga\u0142\u0119zi \u201emain\u201d, wi\u0119c operacja \u201egit clone\u201d spr\u00f3buje lokalnie wyodr\u0119bni\u0107 \u201emain\u201d. W Git 2.31 wsparcie dla takiego wyodr\u0119bnienia jest teraz dost\u0119pne r\u00f3wnie\u017c dla pustych repozytori\u00f3w. Na przyk\u0142ad podczas lokalnego klonowania nowego repozytorium przed dodaniem do niego pierwszych poprawek, lokalna kopia zawiera teraz ustawion\u0105 na zewn\u0105trz. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/server\/dts-dronten\/\"   title=\"serwerze\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2621\">serwerze<\/a> domy\u015bln\u0105 nazw\u0119 g\u0142\u00f3wnej ga\u0142\u0119zi.\n<li class=\"l\"> Do polecenia \u201egit rev-list\u201d dodano opcj\u0119 \u201e--disk-usage\u201d, umo\u017cliwiaj\u0105c\u0105 wy\u015bwietlenie podsumowania rozmiaru obiekt\u00f3w.\n<li class=\"l\"> W oczekiwaniu na nadchodz\u0105c\u0105 zmian\u0119 backendu do realizacji scalania, znacznie zoptymalizowano okre\u015blanie zmiany nazw.\n<li class=\"l\"> Wsparcie dla przestarza\u0142ej biblioteki wyra\u017ce\u0144 regularnych PCRE1 zosta\u0142o zako\u0144czone.\n<li class=\"l\"> Udost\u0119pniono mo\u017cliwo\u015b\u0107 wymuszenia zakazu u\u017cywania skr\u00f3conych link\u00f3w, dzia\u0142aj\u0105cego niezale\u017cnie od algorytmu haszowania. Zakaz w\u0142\u0105cza si\u0119 poprzez przypisanie warto\u015bci \u201eno\u201d do parametru core.abbrev.\n<li class=\"l\"> Do polecenia \u201egit rev-parse\u201d dodano opcj\u0119 \u201e--path-format=(absolute|relative)\u201d w celu jednoznacznego okre\u015blenia wyj\u015bcia wzgl\u0119dnych lub bezwzgl\u0119dnych \u015bcie\u017cek.\n<li class=\"l\"> W skryptach do automatycznego uzupe\u0142niania w Bash uproszczono dodawanie regu\u0142 uzupe\u0142niania dla w\u0142asnych podkomend \u201egit\u201d.\n<li class=\"l\"> Do polecenia \u201egit bundle\u201d dodano opcj\u0119 \u201e--stdin\u201d do odczytu link\u00f3w z standartowego wej\u015bcia.\n<li class=\"l\"> Do polecenia \u201egit log\u201d dodano now\u0105 opcj\u0119 \u201e--diff-merges=\u201d.\n<li class=\"l\"> Do polecenia \u201egit ls-files\u201d dodano opcj\u0119 \u201e--deduplicatecan\u201d w celu usuni\u0119cia duplikat\u00f3w podczas wyj\u015bcia.\n<li class=\"l\"> Dodano nowe maski do wykluczania zakresu commit\u00f3w \u2013 \u201e^!\u201d oraz \u201e^-\u201d.\n<li class=\"l\"> Do polecenia \u201egit range-diff\u201d dodano opcje \u201e--left-only\u201d oraz \u201e--right-only\u201d do wy\u015bwietlania tylko jednej strony por\u00f3wnywanego zakresu.\n<li class=\"l\"> Do zespo\u0142u &#171;git diff&#187; i &#171;git log&#187; dodano opcje &#8212;skip-to=&lt;path&gt;&#187; i &#171;&#8212;rotate-to=&lt;path&gt;&#187; do pomijania lub przenoszenia do ko\u0144ca pocz\u0105tkowych \u015bcie\u017cek.\n<li class=\"l\"> Do polecenia &#171;git difftool&#187; dodano opcj\u0119 &#171;&#8212;skip-to=&lt;path&gt;&#187; do wznawiania przerwanego sesji z dowolnej \u015bcie\u017cki.\n<li class=\"l\"> Kodeks post\u0119powania (Code-of-conduct), okre\u015blaj\u0105cy podstawowe zasady rozwi\u0105zywania konflikt\u00f3w mi\u0119dzy programistami, zosta\u0142 zaktualizowany do wersji 2.0 (wcze\u015bniej u\u017cywana wersja 1.4).<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <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.2 - 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\/pl\/blog\/news\/vypusk-raspredelyonnoj-sistemy-upravleniya-ishodnymi-tekstami-git-2-31\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\/pl\/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\udd47Wydanie rozproszonego systemu zarz\u0105dzania kodem \u017ar\u00f3d\u0142owym Git 2.31 | ProHoster","description":"Wydanie rozproszonego systemu zarz\u0105dzania kodem \u017ar\u00f3d\u0142owym Git 2.31 jest dost\u0119pne.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-raspredelyonnoj-sistemy-upravleniya-ishodnymi-tekstami-git-2-31","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/99450","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=99450"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/99450\/revisions"}],"predecessor-version":[{"id":172923,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/99450\/revisions\/172923"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=99450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=99450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=99450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}