{"id":108813,"date":"2023-06-02T15:10:15","date_gmt":"2023-06-02T13:10:16","guid":{"rendered":"https:\/\/prohoster.info\/?p=108813"},"modified":"2023-06-02T17:30:17","modified_gmt":"2023-06-02T15:30:17","slug":"dostupna-sistema-upravleniya-ishodnymi-tekstami-git-2-41","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/dostupna-sistema-upravleniya-ishodnymi-tekstami-git-2-41","title":{"rendered":"Sistemul de gestionare a codului surs\u0103 Git 2.41 este disponibil","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dup\u0103 trei luni de dezvoltare, a fost lansat\u0103 versiunea sistemului distribuit de gestionare a codului surs\u0103 Git 2.41. Git este unul dintre cele mai populare, fiabile \u0219i performante sisteme de control al versiunilor, oferind instrumente flexibile pentru dezvoltarea neliniar\u0103 bazate pe ramific\u0103ri \u0219i fuziuni. Pentru a asigura integritatea istoricului \u0219i rezisten\u021ba la modific\u0103rile \"retroactive\", se utilizeaz\u0103 hashing-ul implicit al \u00eentregii istorii anterioare \u00een fiecare commit, de asemenea, este posibil\u0103 autentificarea digital\u0103 a semn\u0103turilor dezvoltatorilor pentru anumite etichete \u0219i commituri.     <\/p>\n<p>\u00cen compara\u021bie cu versiunea anterioar\u0103, noua versiune include 542 de modific\u0103ri, preg\u0103tite cu ajutorul a 95 de dezvoltatori, dintre care 29 au participat pentru prima dat\u0103 la dezvoltare. Principalele nout\u0103\u021bi:  <\/p>\n<ul>\n<li class=\"l\"> A fost \u00eembun\u0103t\u0103\u021bit\u0103 gestionarea obiectelor inaccesibile (unreachable), pentru care \u00een repository nu exist\u0103 leg\u0103turi (ramurile sau etichetele nu le refer\u0103). Obiectele inaccesibile sunt \u0219terse de colectorul de gunoi, dar \u00eenainte de \u0219tergere, r\u0103m\u00e2n \u00eentr-o anumit\u0103 perioad\u0103 de timp \u00een repository pentru a evita st\u0103rile de concuren\u021b\u0103. Pentru a urm\u0103ri perioada de existen\u021b\u0103 a obiectelor inaccesibile, este necesar\u0103 asocierea de etichete cu data modific\u0103rii acestor obiecte, ceea ce nu permite stocarea lor \u00eentr-un singur fi\u0219ier pack, \u00een care toate obiectele au o dat\u0103 de modificare comun\u0103. Anterior, fiecare obiect inaccesibil era salvat \u00eentr-un fi\u0219ier separat, ceea ce provoca probleme atunci c\u00e2nd existau un num\u0103r mare de obiecte inaccesibile recente, care nu erau \u00eenc\u0103 supuse \u0219tergerii. \u00cen noua versiune, pentru ambalarea obiectelor inaccesibile, se utilizeaz\u0103 \u00een mod implicit mecanismul \"cruft packs\", care permite stocarea tuturor obiectelor inaccesibile \u00eentr-un singur fi\u0219ier pack, iar datele despre timpul de modificare al fiec\u0103rui obiect sunt reflectate \u00eentr-un tabel separat, p\u0103strat \u00eentr-un fi\u0219ier cu extensia \".mtimes\" \u0219i legat printr-un fi\u0219ier de indexare cu extensia \".idx\".    <center><img decoding=\"async\" alt=\"Sistemul de gestionare a codului surs\u0103 Git 2.41 este disponibil\" src=\"\/wp-content\/uploads\/2023\/06\/1158b26b1dfd1c16c93017669224d7a4.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>\n<li class=\"l\"> Este activat implicit gestionarea pe disc a indexului invers (revindex) pentru fi\u0219ierele pack. \u00cen timpul test\u0103rii pe repository-ul torvalds\/linux, utilizarea indexului invers a permis accelerarea opera\u021biunilor consumatoare de resurse \"git push\" cu 1,49 ori, iar opera\u021biunile simple, cum ar fi calcularea dimensiunii unui singur obiect folosind \"git cat-file --batch='%(objectsize:disk)'\" cu 77 de ori. Fi\u0219ierele (\".rev\") cu index invers vor fi salvate \u00een interiorul repository-ului \u00een directorul \".git\/objects\/pack\".\n<p>It is important to remember that Git stores all data in the form of objects, which are placed in separate files. To enhance repository performance, objects are additionally placed into pack files, where information is presented as a stream of consecutive objects (a similar format is used for transferring objects with the git fetch and git push commands). For each pack file, an index file (.idx) is created, allowing the quick determination of the offset in the pack file associated with an object identifier.     <\/p>\n<p>Indiciul invers inclus \u00een noua versiune vizeaz\u0103 optimizarea procesului de identificare a obiectului prin informa\u021biile de localizare din fi\u0219ierul de pachete. Anterior, aceast\u0103 transformare se realiza \u00een timp real \u00een timpul analizei fi\u0219ierului de pachete \u0219i era stocat\u0103 doar \u00een memorie, ceea ce nu permitea reutilizarea acestor indicii \u0219i obliga la generarea indicelui de fiecare dat\u0103. Opera\u021bia de construire a indicelui const\u0103 \u00een crearea unui array din perechi \u00abobiect-pozi\u021bie\u00bb \u0219i sortarea acestuia dup\u0103 pozi\u021bie, ceea ce poate dura mult timp pentru fi\u0219ierele de pachete mari.     <\/p>\n<p>For instance, the operation of outputting object content using the direct index was 62 times faster than the operation of showing object sizes, for which the position-object linkage data was not indexed. After utilizing the reverse index, the indicated operations began to take approximately the same amount of time. Reverse indexes also help speed up object sending operations during fetch and push commands by allowing the direct transfer of already prepared data from the disk.    <center><img decoding=\"async\" alt=\"Sistemul de gestionare a codului surs\u0103 Git 2.41 este disponibil\" src=\"\/wp-content\/uploads\/2023\/06\/ed6cb7102da37d1262fd3079ac983158.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>      <\/p>\n<li class=\"l\"> Protocolul \u00abcredential helper\u00bb, utilizat pentru transmiterea acreditivelor la accesarea repositoarelor cu acces restric\u021bionat, a fost extins cu suport pentru transmiterea antetelor WWW-Authenticate \u00eentre handlerul de acreditive \u0219i serviciul \u00een care se realizeaz\u0103 autentificarea. Suportul pentru antetul WWW-Authenticate permite transmiterea parametrelor scope OAuth pentru o \u00eemp\u0103r\u021bire mai granular\u0103 a accesului utilizatorilor la repositoare \u0219i delimitarea domeniilor disponibile pentru solicit\u0103ri.\n<li class=\"l\"> A fost ad\u0103ugat\u0103 op\u021biunea de formatare &#171;%(ahead-behind:&lt;base&gt;)&#187; la comanda for-each-ref, permi\u021b\u00e2nd ob\u021binerea rapid\u0103 a informa\u021biilor despre num\u0103rul de commituri prezente sau absente \u00eentr-o anumit\u0103 ramur\u0103, \u00een raport cu o alt\u0103 ramur\u0103 (c\u00e2t de mult o ramur\u0103 \u00eent\u00e2rzie sau se afl\u0103 \u00een avans fa\u021b\u0103 de alta la nivel de commituri). Anterior, pentru a ob\u021bine astfel de informa\u021bii, trebuiau executate dou\u0103 comenzi separate: &#171;git rev-list &#8212;count main..my-feature&#187; pentru a ob\u021bine num\u0103rul de commituri unice pentru ramur\u0103 \u0219i &#171;git rev-list &#8212;count my-feature..main&#187; pentru a ob\u021bine num\u0103rul de commituri absente. Acum, aceste calcule pot fi reduse la o singur\u0103 comand\u0103, ceea ce simplific\u0103 scrierea handler-elor \u0219i scurteaz\u0103 timpul de execu\u021bie. De exemplu, pentru a ar\u0103ta ramurile care nu au trecut prin fuziune \u0219i a evalua \u00eent\u00e2rzierea sau avansarea acestora fa\u021b\u0103 de ramura principal\u0103, se poate utiliza un one-liner:           $ git for-each-ref &#8212;no-merged=origin\/HEAD &#092;       &#8212;format=&#8217;%(refname:short) %(ahead-behind:origin\/HEAD)&#8217; &#092;       refs\/heads\/tb\/ | column -t       tb\/cruft-extra-tips 2 96     tb\/for-each-ref&#8212;exclude 16 96     tb\/roaring-bitmaps 47 3      \u00een locul scriptului anterior, care se executa de 17 ori mai lent:         $ git for-each-ref &#8212;format=&#8217;%(refname:short)&#8217; &#8212;no-merged=origin\/HEAD &#092;       refs\/heads\/tb |       while read ref       do         ahead=&#187;$(git rev-list &#8212;count origin\/HEAD..$ref)&#187;         behind=&#187;$(git rev-list &#8212;count $ref..origin\/HEAD)&#187;         printf &#171;%s %d %d&#092;n&#187; &#171;$ref&#187; &#171;$ahead&#187; &#171;$behind&#187;       done | column -t       tb\/cruft-extra-tips 2 96     tb\/for-each-ref&#8212;exclude 16 96     tb\/roaring-bitmaps 47 3\n<li class=\"l\"> A fost ad\u0103ugat\u0103 op\u021biunea &#171;&#8212;porcelain&#187; la comanda &#171;git fetch&#187;, care, atunci c\u00e2nd este specificat\u0103, genereaz\u0103 o ie\u0219ire \u00een formatul &#171;&lt;flag&gt; &lt;old-object-id&gt; &lt;new-object-id&gt; &lt;local-reference&gt;&#187;, mai pu\u021bin lizibil, dar mai convenabil pentru analiz\u0103 \u00een scripturi.\n<li class=\"l\"> A fost ad\u0103ugat\u0103 setarea &#171;fetch.hideRefs&#187;, care permite accelerarea opera\u021biunilor &#171;git fetch&#187; prin ascunderea unor referin\u021be din repository-ul local \u00een timpul verific\u0103rii de c\u0103tre server a setului complet de obiecte, ceea ce permite economisirea timpului, limit\u00e2nd verificarea doar la $remote, reduc\u00e2nd astfel timpul de execu\u021bie al comenzii &#171;git fetch&#187; de la 20 de minute la 30 de secunde.       $ git -c fetch.hideRefs=refs -c fetch.hideRefs=!refs\/remotes\/$remote &#092;     fetch $remote <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/server\/\"   title=\"servere\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1714\">servere<\/a>, din care se extrag date direct. De exemplu, atunci c\u00e2nd se efectueaz\u0103 un test pe un sistem cu  repositoare care con\u021bin un num\u0103r mare de linkuri externe urm\u0103rite, excluderea tuturor linkurilor, cu excep\u021bia celor adresate \u021bint\u0103 <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/server\/dts-shicago\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2936\">server<\/a> \u00cen comanda &#171;git fsck&#187; a fost implementat\u0103 posibilitatea de verificare a deterior\u0103rii, conformit\u0103\u021bii sumelor de control \u0219i corectitudinii valorilor \u00een h\u0103r\u021bile de bi\u021bi de disponibilitate \u0219i indec\u0219ii inversi.\n<li class=\"l\"> \u00cen comanda &#171;git fsck&#187; a fost implementat\u0103 posibilitatea de verificare a deterior\u0103rii, conformit\u0103\u021bii sumelor de control \u0219i corectitudinii valorilor \u00een h\u0103r\u021bile de bi\u021bi de disponibilitate \u0219i indec\u0219ii inversi.\n<li class=\"l\"> \u00cen echipa &#171;git clone &#8212;local&#187; a fost implementat\u0103 o eroare de ie\u0219ire \u00een cazul \u00een care se \u00eencearc\u0103 copierea dintr-un repository care con\u021bine leg\u0103turi simbolice \u00een interiorul $GIT_DIR.        <\/ul>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=59234\">opennet.ro<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0451\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\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.41. 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, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":108814,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-108813","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0451\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\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.41.\" \/>\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\/ro\/blog\/news\/dostupna-sistema-upravleniya-ishodnymi-tekstami-git-2-41\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \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.41 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0451\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\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.41.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/dostupna-sistema-upravleniya-ishodnymi-tekstami-git-2-41\" \/>\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=\"2023-06-02T13:10:16+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-06-02T15:30:17+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\udd47Sistemul de gestionare a codului surs\u0103 Git 2.41 este disponibil | ProHoster","description":"Dup\u0103 trei luni de dezvoltare, a fost publicat release-ul sistemului distribuit de gestionare a codului surs\u0103 Git 2.41.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/dostupna-sistema-upravleniya-ishodnymi-tekstami-git-2-41","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \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.41 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0451\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\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.41.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/dostupna-sistema-upravleniya-ishodnymi-tekstami-git-2-41","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":"2023-06-02T13:10:16+00:00","article:modified_time":"2023-06-02T15:30:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"108813","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-02-09 16:51:35","updated":"2026-02-09 21:42:06","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/108813","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=108813"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/108813\/revisions"}],"predecessor-version":[{"id":160216,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/108813\/revisions\/160216"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/108814"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=108813"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=108813"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=108813"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}