{"id":55185,"date":"2020-01-14T00:00:00","date_gmt":"2020-01-13T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/vypusk-raspredelennoj-sistemy-upravleniya-ishodnymi-tekstami-git-2-25"},"modified":"2020-02-18T14:03:16","modified_gmt":"2020-02-18T11:03:16","slug":"vypusk-raspredelennoj-sistemy-upravleniya-ishodnymi-tekstami-git-2-25","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-raspredelennoj-sistemy-upravleniya-ishodnymi-tekstami-git-2-25","title":{"rendered":"Wydanie rozproszonego systemu zarz\u0105dzania kodem \u017ar\u00f3d\u0142owym Git 2.25","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.blog\/2020-01-13-highlights-from-git-2-25\/\">Dost\u0119pny<\/a><\/noindex> wydanie rozproszonego systemu zarz\u0105dzania tekstami \u017ar\u00f3d\u0142owymi <noindex><a rel=\"nofollow\" href=\"http:\/\/git-scm.com\/\">Git 2.25.0<\/a><\/noindex>. Git to jeden z najpopularniejszych, niezawodnych i wydajnych system\u00f3w zarz\u0105dzania wersjami, 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 'wstecz', stosuje si\u0119 niejawne haszowanie ca\u0142ej poprzedniej historii w ka\u017cdym commitcie, mo\u017cliwe jest tak\u017ce weryfikowanie cyfrowymi podpisami deweloper\u00f3w poszczeg\u00f3lnych tag\u00f3w i commit\u00f3w. <\/p>\n<p>W por\u00f3wnaniu z poprzedni\u0105 wersj\u0105, w nowej wersji wprowadzono 583 zmiany, przygotowane przy udziale 84 deweloper\u00f3w, z kt\u00f3rych 32 uczestniczy\u0142o w rozwoju po raz pierwszy. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.blog\/2020-01-13-highlights-from-git-2-25\/\">Podstawowe<\/a><\/noindex>  <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/git\/git\/blob\/master\/Documentation\/RelNotes\/2.25.0.txt\">nowo\u015bci<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> Zbli\u017ca si\u0119 do stabilizacji i pe\u0142nej gotowo\u015bci mo\u017cliwo\u015b\u0107 cz\u0119\u015bciowego klonowania (partial clones), kt\u00f3ra pozwala przenosi\u0107 tylko cz\u0119\u015b\u0107 danych i pracowa\u0107 z niepe\u0142n\u0105 kopi\u0105 repozytorium. Przy zwyk\u0142ym klonowaniu z repozytorium kopiowane s\u0105 wszystkie dane, w tym ka\u017cda wersja ka\u017cdego pliku z historii zmian. Dla bardzo du\u017cych repozytori\u00f3w kopiowanie danych prowadzi do znacznego zwi\u0119kszenia ruchu i zaj\u0119to\u015bci dysku, nawet je\u015bli dewelopera interesuje tylko podzbi\u00f3r plik\u00f3w. W celu uproszczenia uzyskiwania tylko cz\u0119\u015bci roboczego drzewa oryginalnych tekst\u00f3w w nowym wydaniu zaoferowano eksperymentalne polecenie 'sparse-checkout' oraz now\u0105 opcj\u0119 '--sparse' dla polecenia 'clone'.\n<p>Wcze\u015bniej proces wybi\u00f3rczego klonowania realizowano poprzez podanie  <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/git\/git\/blob\/v2.25.0\/Documentation\/rev-list-options.txt#L735-L780\">filtr\u00f3w<\/a><\/noindex> do odfiltrowania zb\u0119dnych tre\u015bci oraz opcji '--no-checkout' do wy\u0142\u0105czenia dope\u0142niania brakuj\u0105cych plik\u00f3w. Nast\u0119pnie, przed wykonaniem operacji checkout, wymagane by\u0142o w\u0142\u0105czenie ustawienia core.sparseCheckout i okre\u015blenie w pliku .git\/info\/sparse-checkout listy wzor\u00f3w wykluczaj\u0105cych \u015bcie\u017cki. Na przyk\u0142ad, aby sklonowa\u0107 bez blob\u00f3w i zabroni\u0107 wydobywania plik\u00f3w z zagnie\u017cd\u017conych katalog\u00f3w o g\u0142\u0119boko\u015bci 2 i wi\u0119kszej, mo\u017cna by\u0142o wykona\u0107:<\/p>\n<p>   git clone --filter=blob:none --no-checkout \/your\/repository\/here repo<br \/>\n   $ cd repo<br \/>\n   $ cat &gt;.git\/info\/sparse-checkout &lt;EOF<br \/>\n   \/*<br \/>\n   !\/*<br \/>\n   EOF<br \/>\n   $ git config core.sparseCheckout 1<br \/>\n   $ git checkout .<\/p>\n<p>Nowe polecenie 'git sparse-checkout' znacz\u0105co upraszcza prac\u0119 i ogranicza proces organizacji pracy z niepe\u0142nym repozytorium do polece\u0144:<\/p>\n<p>   git clone --filter=blob:none --sparse \/your\/repository\/here repo<br \/>\n   git sparse-checkout set \/path\/to\/check\/out<\/p>\n<p>Polecenie sparse-checkout pozwala ustawi\u0107 list\u0119 \u015bcie\u017cek do checkout (set) bez r\u0119cznej konfiguracji .git\/info\/sparse-checkout, a tak\u017ce wy\u015bwietli\u0107 bie\u017c\u0105c\u0105 list\u0119 \u015bcie\u017cek (list) oraz w\u0142\u0105czy\u0107 lub wy\u0142\u0105czy\u0107 cz\u0119\u015bciowy checkout (enable\/disable). <\/p>\n<p>W celu optymalizacji pracy z bardzo du\u017cymi repozytoriami i listami wzorc\u00f3w zaproponowano ustawienie \"<noindex><a rel=\"nofollow\" href=\"https:\/\/patchwork.kernel.org\/patch\/11152745\/\">git config core.sparseCheckoutCone<\/a><\/noindex>\", ograniczaj\u0105ce dopuszczalne wzorce (zamiast dowolnych wzorc\u00f3w .gitignore mo\u017cna okre\u015bli\u0107, kt\u00f3re \u015bcie\u017cki i kt\u00f3re pliki w danym podkatalogu nale\u017cy wyodr\u0119bni\u0107). Na przyk\u0142ad, je\u015bli w du\u017cym repozytorium znajduje si\u0119 katalog \"A\/B\/C\" i ca\u0142a praca koncentruje si\u0119 na podkatalogu \"C\", to po w\u0142\u0105czeniu trybu sparseCheckoutCone polecenie \"git sparse-checkout set A\/B\/C\" wyodr\u0119bni zawarto\u015b\u0107 \"C\" w ca\u0142o\u015bci, ale z \"A\" i \"B\" wyodr\u0119bni tylko elementy niezb\u0119dne do pracy z \"C\".<\/p>\n<li class=\"l\"> Z dokumentacji (\"git rebase -h\") usuni\u0119to wszystkie wzmianki o opcji \"--preserve-merges\", kt\u00f3ra zosta\u0142a uznana za przestarza\u0142\u0105, a zamiast niej do przenoszenia zestawu commit\u00f3w nale\u017cy u\u017cywa\u0107 \"<noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50831\">git rebase --rebase-merges<\/a><\/noindex>&#171;.\n<li class=\"l\"> Aby poprawi\u0107 czytelno\u015b\u0107 wiadomo\u015bci z \u0142atkami wysy\u0142anymi na listy dystrybucyjne, dodano opcj\u0119 \"git format-patch --cover-from-description subject\", przy kt\u00f3rej jako temat towarzysz\u0105cego listu dla zestawu poprawek jest u\u017cywany pierwszy akapit z tekstu opisu ga\u0142\u0119zi.\n<li class=\"l\"> Zaimplementowano wsparcie dla wsp\u00f3lnego stosowania polecenia \"git apply --3way\" oraz ustawienia \"merge.conflictStyle\" (\"git apply\" teraz uwzgl\u0119dnia styl opisu konfliktu z merge.conflictStyle w razie konieczno\u015bci rozwi\u0105zania konfliktu po pr\u00f3bie zastosowania pliku z \u0142atk\u0105 do repozytorium).\n<li class=\"l\"> Kod definiuj\u0105cy funkcje, u\u017cywany w takich operacjach jak \"git diff\/grep --show-function\/--function-context\", zosta\u0142 rozszerzony o wsparcie dla definiowania granic funkcji w programach w j\u0119zyku <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Elixir_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)\">Elixir<\/a><\/noindex>.\n<li class=\"l\"> W \"git add\", \"git commit\", \"git reset\" i inne polecenia dodano now\u0105 opcj\u0119 \"--pathspec-from-file\", kt\u00f3ra umo\u017cliwia za\u0142adowanie listy \u015bcie\u017cek z pliku lub strumienia wej\u015bciowego, zamiast wymieniania ich w wierszu polece\u0144.\n<li class=\"l\"> Rozwi\u0105zano problem z definiowaniem zmian nazw na poziomie katalog\u00f3w podczas zapisywania commit\u00f3w. Wykrywanie nie dzia\u0142a\u0142o w przypadku przenoszenia zawarto\u015bci podkatalogu do g\u0142\u00f3wnego katalogu repozytorium.\n<li class=\"l\"> Zaproponowano wst\u0119pn\u0105 implementacj\u0119 przerobionej komendy &#171;git add -i&#187;, umo\u017cliwiaj\u0105cej dodawanie zmienionej zawarto\u015bci w trybie interaktywnym, przepisanej z Perla na C. Trwa analogiczna przer\u00f3bka komendy &#171;git add -p&#187;.\n<li class=\"l\"> Przeprowadzono refaktoryzacj\u0119 komendy &#171;git log &#8212;graph&#187;, kt\u00f3ra generuje obraz ASCII grafu z histori\u0105 zmian w repozytorium. Przer\u00f3bka znacznie poprawi\u0142a i upro\u015bci\u0142a wyj\u015bcie bez zniekszta\u0142cenia struktury historii, co na przyk\u0142ad rozwi\u0105za\u0142o problem z wychodzeniem rysunku poza szeroko\u015b\u0107 wiersza terminala.\n<li class=\"l\"> Opcja &#171;git log &#8212;format=..&#187;, umo\u017cliwiaj\u0105ca zmian\u0119 formatu wyj\u015bcia,<br \/>\nzosta\u0142a rozszerzona o wsparcie dla flag &#171;l\/L&#187; do wy\u015bwietlania tylko cz\u0119\u015bci adresu e-mail, wskazanej przed symbolem &#171;@&#187; (na przyk\u0142ad przydatne, gdy wszyscy deweloperzy maj\u0105 wszystkie e-maile w jednej domenie).<\/p>\n<li class=\"l\"> Do komendy &#171;git submodule&#187; dodano podkomend\u0119 &#171;set-url&#187;.\n<li class=\"l\"> Zbiory testowe zosta\u0142y zaktualizowane w ramach przygotowa\u0144 do przej\u015bcia na<br \/>\n algorytm haszuj\u0105cy SHA-2 zamiast SHA-1.<\/p>\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>\u0179r\u00f3d\u0142o: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52180\">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.25.0. 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-55185","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - 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\" \/>\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-raspredelennoj-sistemy-upravleniya-ishodnymi-tekstami-git-2-25\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\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\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.25 | 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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-raspredelennoj-sistemy-upravleniya-ishodnymi-tekstami-git-2-25\" \/>\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=\"2020-01-13T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:16+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.25 | ProHoster","description":"Dost\u0119pna jest wersja rozproszonego systemu zarz\u0105dzania tekstami \u017ar\u00f3d\u0142owymi","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-raspredelennoj-sistemy-upravleniya-ishodnymi-tekstami-git-2-25","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\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.25 | 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","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-raspredelennoj-sistemy-upravleniya-ishodnymi-tekstami-git-2-25","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":"2020-01-13T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:16+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55185","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-02-28 19:48:30","updated":"2022-09-27 23:15:18","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\/55185","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=55185"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/55185\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=55185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=55185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=55185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}