{"id":121313,"date":"2025-01-11T21:46:00","date_gmt":"2025-01-11T19:46:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-sistemy-upravleniya-ishodnymi-tekstami-git-2-48"},"modified":"2025-01-11T21:46:00","modified_gmt":"2025-01-11T19:46:00","slug":"vypusk-sistemy-upravleniya-ishodnymi-tekstami-git-2-48","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-sistemy-upravleniya-ishodnymi-tekstami-git-2-48","title":{"rendered":"Wydanie systemu zarz\u0105dzania kodem \u017ar\u00f3d\u0142owym Git 2.48","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Opublikowano wersj\u0119 rozproszonego systemu zarz\u0105dzania kodem \u017ar\u00f3d\u0142owym Git 2.48. Git wyr\u00f3\u017cnia si\u0119 wysok\u0105 wydajno\u015bci\u0105 i oferuje narz\u0119dzia do nieliniowego rozwoju, bazuj\u0105ce na rozga\u0142\u0119zieniu i scalaniu ga\u0142\u0119zi. Aby zapewni\u0107 integralno\u015b\u0107 historii i odporno\u015b\u0107 na zmiany \"wstecz\", wykorzystuje si\u0119 niejawne haszowanie ca\u0142ej wcze\u015bniejszej historii w ka\u017cdym commicie, a tak\u017ce uwierzytelnianie cyfrowe podpisami deweloper\u00f3w poszczeg\u00f3lnych tag\u00f3w i commit\u00f3w. Kod Git jest rozpowszechniany na licencji GPLv2+.    <\/p>\n<p>W por\u00f3wnaniu do poprzedniej wersji, nowa wersja zawiera 605 zmian, przygotowanych przez 93 deweloper\u00f3w, z kt\u00f3rych 35 uczestniczy w rozwoju po raz pierwszy. G\u0142\u00f3wne nowo\u015bci to:  <\/p>\n<ul>\n<li class=\"l\"> Wprowadzono mo\u017cliwo\u015b\u0107 budowania przy u\u017cyciu systemu budowania Meson, opr\u00f3cz GNU Make i CMake. Do zbudowania Gita mo\u017cna teraz u\u017cy\u0107 polecenia \"meson setup build &amp;&amp; ninja -C build\". Nale\u017cy zauwa\u017cy\u0107, \u017ce Makefile stosowany przy u\u017cyciu GNU Make rozr\u00f3s\u0142 si\u0119 do 3887 linii i nie jest tak prosty, jak by si\u0119 chcia\u0142o. Zestaw narz\u0119dzi Meson upraszcza prac\u0119 z systemem budowania, jest wygodny do budowania mi\u0119dzyplatformowego i u\u0142atwia budowanie osobom, kt\u00f3re nie maj\u0105 do\u015bwiadczenia w korzystaniu z narz\u0119dzia Make. Nie planuje si\u0119 w najbli\u017cszym czasie zaprzestania wsparcia dla Make i CMake.\n<li class=\"l\"> Dodano opcje budowy, kt\u00f3re umo\u017cliwiaj\u0105 u\u017cycie alternatywnych implementacji hasha SHA-1 przy obliczaniu sum kontrolnych, u\u017cywanych do weryfikacji integralno\u015bci blok\u00f3w danych w plikach pakiet\u00f3w. Wydajno\u015b\u0107 obliczania sum kontrolnych ma du\u017ce znaczenie; na obliczenie ich podczas klonowania repozytorium z j\u0105drem Linux przeznacza si\u0119 oko\u0142o 78% czasu procesora. Domy\u015blna implementacja zawiera dodatkowe sprawdzenia kolizji i ochron\u0119 przed atakami na SHA-1, takimi jak SHAttered i Shambles. Tego rodzaju ochrona, zu\u017cywaj\u0105ca dodatkowe zasoby, ma sens tylko przy u\u017cyciu SHA-1 w celach kryptograficznych i jest zb\u0119dna przy weryfikacji integralno\u015bci danych indeksowych.\n<p>Dla budowy Gita z szybsz\u0105 implementacj\u0105 SHA-1, kt\u00f3ra nie nadaje si\u0119 do system\u00f3w kryptograficznych, zaproponowano seri\u0119 opcji *_UNSAFE, takich jak \"OPENSSL_SHA1_UNSAFE\". W GitHub budowanie z uproszczonym SHA-1 pozwoli\u0142o zwi\u0119kszy\u0107 wydajno\u015b\u0107 operacji pobierania i klonowania danych o 10-13%.      <\/p>\n<li class=\"l\"> Dodano mo\u017cliwo\u015b\u0107 u\u017cycia opcji \"--remerge-diff\" w poleceniu \"range-diff\", kt\u00f3ra pozwala pokaza\u0107 r\u00f3\u017cnice mi\u0119dzy wsp\u00f3lnym wynikiem scalania a faktycznymi danymi odzwierciedlonymi w commicie po wykonaniu polecenia \"merge\". Przy u\u017cyciu opcji \"--remerge-diff\" r\u00f3\u017cnice mi\u0119dzy rozwi\u0105zaniami konflikt\u00f3w nie s\u0105 rozdzielane dla ka\u017cdej rodzicielskiej ga\u0142\u0119zi, lecz pokazuj\u0105 og\u00f3lne r\u00f3\u017cnice mi\u0119dzy plikiem maj\u0105cym konflikty scalania a plikiem, w kt\u00f3rym konflikty zosta\u0142y rozwi\u0105zane. W kontek\u015bcie polecenia \"range-diff\" nowa opcja mo\u017ce okaza\u0107 si\u0119 przydatna do por\u00f3wnania zestaw\u00f3w commit\u00f3w po przeniesieniu sekwencji commit\u00f3w za pomoc\u0105 polecenia \"rebase\" z opcj\u0105 \"--rebase-merges\".\n<li class=\"l\"> Dodano mo\u017cliwo\u015b\u0107 uruchomienia zestawu testowego Gita z w\u0142\u0105czonym trybem wykrywania wyciek\u00f3w pami\u0119ci. Poniewa\u017c git zapewnia narz\u0119dzia, kt\u00f3re ko\u0144cz\u0105 dzia\u0142anie po wykonaniu wywo\u0142anej funkcji, wcze\u015bniejsze wycieki pami\u0119ci nie by\u0142y traktowane jako powa\u017cny problem. Konieczno\u015b\u0107 ca\u0142kowitego wykluczenia wyciek\u00f3w pami\u0119ci sta\u0142a si\u0119 aktualna po rozpocz\u0119ciu pracy nad wydzieleniem wewn\u0119trznej funkcjonalno\u015bci do osobnej biblioteki, kt\u00f3ra mo\u017ce by\u0107 stosowana w d\u0142ugotrwa\u0142ych procesach.\n<li class=\"l\"> Rozpocz\u0119to tworzenie listy przestarza\u0142ych tryb\u00f3w i mo\u017cliwo\u015bci, kt\u00f3rych wsparcie planowane jest do zako\u0144czenia w przysz\u0142o\u015bci. Uwa\u017ca si\u0119, \u017ce usuni\u0119cie przestarza\u0142ej funkcjonalno\u015bci nast\u0105pi w wydaniu Git 3.0, kt\u00f3re wprowadzi zmiany naruszaj\u0105ce zgodno\u015b\u0107 wsteczn\u0105.\n<li class=\"l\"> Kontynuowano optymalizacj\u0119 pracy zespo\u0142u &#171;git for-each-ref&#187;, kt\u00f3ry generuje list\u0119 link\u00f3w w repozytorium. Optymalizacja, \u0142\u0105cz\u0105ca przetwarzanie filtr\u00f3w dla link\u00f3w oraz formatowanie wyj\u015bcia, jest teraz stosowana nie tylko dla niezsortowanego wyj\u015bcia, ale tak\u017ce przy u\u017cyciu opcji &#171;&#8212;sort&#187;.\n<li class=\"l\"> Ulepszono implementacj\u0119 backendu &#171;reftable&#187; z blokowym magazynem do efektywnego przechowywania link\u00f3w do ga\u0142\u0119zi i tag\u00f3w w repozytorium. Reftable znacznie przyspiesza wyszukiwanie, odczyt i zapis w repozytoriach z bardzo du\u017c\u0105 liczb\u0105 link\u00f3w. W nowej wersji zrezygnowano z niekt\u00f3rych pomocniczych API, aby uzyska\u0107 dalsze wykluczenie biblioteki libgit z zale\u017cno\u015bci budowlanych. Wprowadzono adaptacyjne przetwarzanie b\u0142\u0119d\u00f3w zwracanych przez funkcje alokacji pami\u0119ci (brak pami\u0119ci nie prowadzi teraz do awarii). Przyspieszono operacje tworzenia link\u00f3w i zmniejszono zu\u017cycie pami\u0119ci.\n<li class=\"l\"> W implementacji cz\u0119\u015bciowego klonowania rozwi\u0105zano problemy, kt\u00f3re prowadzi\u0142y do zap\u0119tlenia si\u0119 i uszkodzenia repozytorium po wykonaniu polecenia &#171;git gc&#187;.\n<li class=\"l\"> Podczas wykonywania polecenia &#171;git fetch &lt;remote&gt;&#187;, w przypadku braku na lokalnym systemie &#171;refs\/remotes\/&lt;remote&gt;\/HEAD&#187; oraz posiadania po drugiej stronie ga\u0142\u0119zi, na kt\u00f3r\u0105 wskazuje HEAD, &#171;refs\/remotes\/&lt;remote&gt;\/HEAD&#187; jest teraz przekierowywane na t\u0119 ga\u0142\u0105\u017a. Aby zarz\u0105dza\u0107 synchronizacj\u0105 &#171;refs\/remotes\/&lt;remote&gt;\/HEAD&#187; z warto\u015bci\u0105 HEAD po drugiej stronie, dodano ustawienie remote.&lt;remote&gt;.followRemoteHEAD&#187;.\n<li class=\"l\"> Dodano ustawienie &#171;remote.&lt;name&gt;.serverOption&#187; analogiczne do opcji wiersza polece\u0144 &#171;&#8212;serverOption=&lt;value&gt;&#187;.\n<li class=\"l\"> W poleceniu &#171;git rebase &#8212;rebase-merges&#187; w miar\u0119 mo\u017cliwo\u015bci zapewniono u\u017cycie nazw ga\u0142\u0119zi jako etykiet.\n<li class=\"l\"> Do polece\u0144 &#8216;git notes add&#8217; i &#8216;git notes append&#8217; dodano flag\u0119 &#8216;-e&#8217;, kt\u00f3ra otwiera notatk\u0119 w zewn\u0119trznym edytorze tekstu wskazanym za pomoc\u0105 zmiennej \u015brodowiskowej GIT_EDITOR.\n<li class=\"l\"> Ulepszona zgodno\u015b\u0107 z GCC 15 i standardem C23.\n<li class=\"l\"> Zaprzestano wsparcia dla starych wersji libcURL i Perl.    <\/ul>\n<p>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62545\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\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.48. Git \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \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, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u0435\u043d\u0438\u0435 \u0446\u0438\u0444\u0440\u043e\u0432\u044b\u043c\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u044f\u043c\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0442\u0435\u0433\u043e\u0432 \u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432. \u041a\u043e\u0434 Git [&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-121313","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=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\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.48. Git \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \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.\" \/>\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-sistemy-upravleniya-ishodnymi-tekstami-git-2-48\" \/>\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 \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.48 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\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.48. Git \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-sistemy-upravleniya-ishodnymi-tekstami-git-2-48\" \/>\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=\"2025-01-11T19:46:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-01-11T19:46:00+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 systemu zarz\u0105dzania kodem \u017ar\u00f3d\u0142owym Git 2.48 | ProHoster","description":"Opublikowano wydanie rozproszonego systemu zarz\u0105dzania kodem \u017ar\u00f3d\u0142owym Git 2.48. Git wyr\u00f3\u017cnia si\u0119 wysok\u0105 wydajno\u015bci\u0105 i zapewnia narz\u0119dzia do nieliniowego rozwoju, bazuj\u0105ce na rozga\u0142\u0119zieniu i scalaniu ga\u0142\u0119zi.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-sistemy-upravleniya-ishodnymi-tekstami-git-2-48","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 \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.48 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\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.48. Git \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \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.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-sistemy-upravleniya-ishodnymi-tekstami-git-2-48","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":"2025-01-11T19:46:00+00:00","article:modified_time":"2025-01-11T19:46:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"121313","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":"default","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":"2026-01-23 09:34:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 09:34:20","updated":"2026-01-23 09:34:20","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\/121313","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=121313"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/121313\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=121313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=121313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=121313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}