{"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\/hu\/blog\/news\/dostupna-sistema-upravleniya-ishodnymi-tekstami-git-2-41","title":{"rendered":"El\u00e9rhet\u0151 a Git 2.41 forr\u00e1sk\u00f3d-kezel\u0151 rendszer","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>H\u00e1rom h\u00f3napos fejleszt\u00e9s ut\u00e1n megjelent a Git 2.41, a megosztott forr\u00e1sk\u00f3d-kezel\u0151 rendszer \u00faj verzi\u00f3ja. A Git az egyik legn\u00e9pszer\u0171bb, megb\u00edzhat\u00f3 \u00e9s nagy teljes\u00edtm\u00e9ny\u0171 verzi\u00f3kezel\u0151 rendszer, amely rugalmas eszk\u00f6z\u00f6ket k\u00edn\u00e1l a nem line\u00e1ris fejleszt\u00e9shez, \u00e1gv\u00e1laszt\u00e1s \u00e9s egyes\u00edt\u00e9s alapjain. A t\u00f6rt\u00e9net integrit\u00e1s\u00e1nak \u00e9s a visszamen\u0151leges v\u00e1ltoztat\u00e1sokkal szembeni ellen\u00e1ll\u00f3s\u00e1g biztos\u00edt\u00e1sa \u00e9rdek\u00e9ben implicit hash-el\u00e9st haszn\u00e1lnak az \u00f6sszes kor\u00e1bbi t\u00f6rt\u00e9netre minden elk\u00f6telezett \u00e1llapotban, lehet\u0151v\u00e9 t\u00e9ve a digit\u00e1lis al\u00e1\u00edr\u00e1sokkal val\u00f3 azonos\u00edt\u00e1st a k\u00fcl\u00f6nf\u00e9le c\u00edmk\u00e9k \u00e9s elk\u00f6telezett \u00e1llapotok sz\u00e1m\u00e1ra.     <\/p>\n<p>Az el\u0151z\u0151 kiad\u00e1ssal \u00f6sszehasonl\u00edtva az \u00faj verzi\u00f3 542 m\u00f3dos\u00edt\u00e1st tartalmaz, amelyeket 95 fejleszt\u0151 k\u00e9sz\u00edtett, k\u00f6z\u00fcl\u00fck 29-en el\u0151sz\u00f6r vettek r\u00e9szt a fejleszt\u00e9sben. A legfontosabb \u00faj\u00edt\u00e1sok:  <\/p>\n<ul>\n<li class=\"l\"> Jav\u00edtott\u00e1k a nem el\u00e9rhet\u0151 objektumok (unreachable) kezel\u00e9s\u00e9t, amelyekre a t\u00e1rol\u00f3ban nincs hivatkoz\u00e1s (nem mutatnak r\u00e1 \u00e1gak vagy c\u00edmk\u00e9k). A nem el\u00e9rhet\u0151 objektumokat a szem\u00e9tgy\u0171jt\u0151 elt\u00e1vol\u00edtja, de elt\u00e1vol\u00edt\u00e1s el\u0151tt egy ideig a t\u00e1rol\u00f3ban maradnak a versenyhelyzetek elker\u00fcl\u00e9se \u00e9rdek\u00e9ben. A nem el\u00e9rhet\u0151 objektumok elt\u00e1vol\u00edt\u00e1s\u00e1nak idej\u00e9nek nyomon k\u00f6vet\u00e9s\u00e9hez hivatkoz\u00e1s sz\u00fcks\u00e9ges a m\u00f3dos\u00edtott objektumok c\u00edmk\u00e9ire, ami lehetetlenn\u00e9 teszi, hogy azokat egy pack-f\u00e1jlban t\u00e1rolj\u00e1k, ahol az \u00f6sszes objektum k\u00f6z\u00f6s m\u00f3dos\u00edt\u00e1si id\u0151vel rendelkezik. Kor\u00e1bban minden egyes nem el\u00e9rhet\u0151 objektumot k\u00fcl\u00f6n f\u00e1jlban t\u00e1roltak, ami probl\u00e9m\u00e1khoz vezetett, amikor sok friss, m\u00e9g nem t\u00f6rlend\u0151 nem el\u00e9rhet\u0151 objektum volt. Az \u00faj verzi\u00f3ban a nem el\u00e9rhet\u0151 objektumok csomagol\u00e1s\u00e1hoz alap\u00e9rtelmez\u00e9s szerint a \"cruft packs\" mechanizmust alkalmazz\u00e1k, amely lehet\u0151v\u00e9 teszi, hogy az \u00f6sszes nem el\u00e9rhet\u0151 objektumot egy pack-f\u00e1jlban t\u00e1rolj\u00e1k, m\u00edg minden objektum m\u00f3dos\u00edt\u00e1si idej\u00e9r\u0151l k\u00fcl\u00f6n t\u00e1bl\u00e1zatot vezetnek, amely az \" .mtimes\" kiterjeszt\u00e9s\u0171 f\u00e1jlban t\u00e1rol\u00f3dik \u00e9s indexf\u00e1jl seg\u00edts\u00e9g\u00e9vel kapcsol\u00f3dik az \" .idx\" kiterjeszt\u00e9s\u0171 f\u00e1jlhoz.    <center><img decoding=\"async\" alt=\"El\u00e9rhet\u0151 a Git 2.41 forr\u00e1sk\u00f3d-kezel\u0151 rendszer\" src=\"\/wp-content\/uploads\/2023\/06\/1158b26b1dfd1c16c93017669224d7a4.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>\n<li class=\"l\"> Alap\u00e9rtelmez\u00e9s szerint enged\u00e9lyezve van a visszamen\u0151leges index (revindex) lemezre t\u00f6rt\u00e9n\u0151 vezet\u00e9se a pack-f\u00e1jlok sz\u00e1m\u00e1ra. A torvalds\/linux t\u00e1rol\u00f3ban v\u00e9gzett tesztel\u00e9s sor\u00e1n a visszamen\u0151leges index alkalmaz\u00e1sa 1,49-szer gyors\u00edtotta meg a CPU ig\u00e9nyes \"git push\" m\u0171veleteket, m\u00edg az egyszer\u0171 m\u0171veletek, mint p\u00e9ld\u00e1ul egy objektum m\u00e9ret\u00e9nek kisz\u00e1m\u00edt\u00e1sa a \"git cat-file \u2014batch='%(objectsize:disk)'\" seg\u00edts\u00e9g\u00e9vel 77-szer gyorsabb\u00e1 v\u00e1lt. A visszamen\u0151leges indexet tartalmaz\u00f3 f\u00e1jlok (\".rev\") a t\u00e1rol\u00f3n bel\u00fcl a \" .git\/objects\/pack\" k\u00f6nyvt\u00e1rban lesznek elmentve.\n<p>Eml\u00e9kezz\u00fcnk, hogy a Git az \u00f6sszes adatot objektumok form\u00e1j\u00e1ban t\u00e1rolja, amelyeket k\u00fcl\u00f6n f\u00e1jlokban helyez el. A t\u00e1rol\u00f3val val\u00f3 hat\u00e9konyabb munka \u00e9rdek\u00e9ben az objektumokat tov\u00e1bbi pack-f\u00e1jlokba helyezik, ahol az inform\u00e1ci\u00f3 objektumok folyam\u00e1nak form\u00e1j\u00e1ban van jelen, amelyek egym\u00e1s ut\u00e1n k\u00f6vetkeznek (hasonl\u00f3 form\u00e1tumot haszn\u00e1lnak az objektumok git fetch \u00e9s git push parancsokkal t\u00f6rt\u00e9n\u0151 \u00e1tvitel\u00e9n\u00e9l). Minden pack-f\u00e1jlhoz indexf\u00e1jl (.idx) k\u00e9sz\u00fcl, amely lehet\u0151v\u00e9 teszi, hogy az objektum azonos\u00edt\u00f3ja alapj\u00e1n nagyon gyorsan meghat\u00e1rozzuk a pack-f\u00e1jlban l\u00e9v\u0151 eltol\u00e1st, ahol az objektum t\u00e1rolva van.     <\/p>\n<p>Az \u00faj kiad\u00e1sban szerepl\u0151 visszafel\u00e9 index c\u00e9lja az objektum azonos\u00edt\u00f3j\u00e1nak meghat\u00e1roz\u00e1si folyamat\u00e1nak optimaliz\u00e1l\u00e1sa az objektum pack-f\u00e1jlban tal\u00e1lhat\u00f3 elhelyez\u00e9si inform\u00e1ci\u00f3i alapj\u00e1n. Kor\u00e1bban ez a transzform\u00e1ci\u00f3 val\u00f3s id\u0151ben zajlott a pack-f\u00e1jl elemz\u00e9se sor\u00e1n, \u00e9s csak a mem\u00f3ri\u00e1ban t\u00e1rolt\u00e1k, ami nem tette lehet\u0151v\u00e9 az ilyen indexek \u00fajrahaszn\u00e1lat\u00e1t, \u00e9s minden alkalommal \u00faj index gener\u00e1l\u00e1s\u00e1ra k\u00e9nyszer\u00edtett. Az indexel\u00e9si m\u0171velet l\u00e9nyeg\u00e9ben egy 'objektum-hely' p\u00e1rb\u00f3l \u00e1ll\u00f3 t\u00f6mb fel\u00e9p\u00edt\u00e9s\u00e9re \u00e9s annak hely szerinti rendez\u00e9s\u00e9re korl\u00e1toz\u00f3dik, ami nagy pack-f\u00e1jlok eset\u00e9n sok id\u0151t vehet ig\u00e9nybe.     <\/p>\n<p>P\u00e9ld\u00e1ul az objektumok tartalm\u00e1nak megjelen\u00edt\u00e9se, amely k\u00f6zvetlen indexet haszn\u00e1l, 62-szer gyorsabban zajlott, mint az objektumok m\u00e9ret\u00e9nek megjelen\u00edt\u00e9se, amelyn\u00e9l az objektum \u00e9s a poz\u00edci\u00f3 k\u00f6z\u00f6tti kapcsolat adatai nem voltak indexelve. A ford\u00edtott index haszn\u00e1lata ut\u00e1n az eml\u00edtett m\u0171veletek k\u00f6r\u00fclbel\u00fcl ugyanannyi id\u0151t kezdtek ig\u00e9nyelni. A ford\u00edtott indexek seg\u00edtik a push \u00e9s fetch parancsok futtat\u00e1sakor az objektumok k\u00fcld\u00e9s\u00e9nek felgyors\u00edt\u00e1s\u00e1t az\u00e1ltal, hogy az el\u0151k\u00e9sz\u00edtett adatokat k\u00f6zvetlen\u00fcl az lemezr\u0151l tov\u00e1bb\u00edtj\u00e1k.    <center><img decoding=\"async\" alt=\"El\u00e9rhet\u0151 a Git 2.41 forr\u00e1sk\u00f3d-kezel\u0151 rendszer\" src=\"\/wp-content\/uploads\/2023\/06\/ed6cb7102da37d1262fd3079ac983158.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>      <\/p>\n<li class=\"l\"> A 'credential helper' protokoll, amely a korl\u00e1tozott hozz\u00e1f\u00e9r\u00e9s\u0171 repozit\u00f3riumokhoz val\u00f3 hiteles\u00edt\u0151 adatok \u00e1tad\u00e1s\u00e1ra szolg\u00e1l, t\u00e1mogatja a WWW-Authenticate fejl\u00e9c \u00e1tad\u00e1s\u00e1t a hiteles\u00edt\u0151 adatkezel\u0151 \u00e9s az autentik\u00e1ci\u00f3t v\u00e9gz\u0151 szolg\u00e1ltat\u00e1s k\u00f6z\u00f6tt. A WWW-Authenticate fejl\u00e9c t\u00e1mogat\u00e1sa lehet\u0151v\u00e9 teszi az OAuth scope-param\u00e9terek \u00e1tad\u00e1s\u00e1t a felhaszn\u00e1l\u00f3i hozz\u00e1f\u00e9r\u00e9si jogok finomabb feloszt\u00e1sa \u00e9rdek\u00e9ben a repozit\u00f3riumokhoz, valamint a k\u00e9rd\u00e9sekhez hozz\u00e1f\u00e9rhet\u0151 ter\u00fcletek elk\u00fcl\u00f6n\u00edt\u00e9s\u00e9t.\n<li class=\"l\"> A for-each-ref parancshoz hozz\u00e1adva a &#171;%(ahead-behind:&lt;base&gt;)&#187; form\u00e1z\u00e1si lehet\u0151s\u00e9g, amely lehet\u0151v\u00e9 teszi, hogy egyszerre nyerj\u00fcnk inform\u00e1ci\u00f3t a commitok sz\u00e1m\u00e1r\u00f3l, amelyek egy adott \u00e1gban jelen vannak vagy hi\u00e1nyoznak egy m\u00e1sik \u00e1ghoz k\u00e9pest (mennyi id\u0151t vesz ig\u00e9nybe, hogy egy \u00e1g elmarad vagy megel\u0151z egy m\u00e1sik commit szinten). Kor\u00e1bban ilyen inform\u00e1ci\u00f3k megszerz\u00e9s\u00e9hez k\u00e9t k\u00fcl\u00f6n parancsot kellett v\u00e9grehajtani: &#171;git rev-list &#8212;count main..my-feature&#187; az \u00e1g commitjainak sz\u00e1m\u00e1nak megszerz\u00e9s\u00e9hez, \u00e9s &#171;git rev-list &#8212;count my-feature..main&#187; a hi\u00e1nyz\u00f3 commitok sz\u00e1m\u00e1nak megszerz\u00e9s\u00e9hez. Most az ilyen sz\u00e1m\u00edt\u00e1sokat egy parancsra egyszer\u0171s\u00edtett\u00e9k, ami megk\u00f6nny\u00edti a feldolgoz\u00f3k \u00edr\u00e1s\u00e1t \u00e9s cs\u00f6kkenti a v\u00e9grehajt\u00e1si id\u0151t. P\u00e9ld\u00e1ul az egyes\u00fclt \u00e1ggal nem \u00e1tmentett \u00e1gak megjelen\u00edt\u00e9s\u00e9hez \u00e9s a f\u0151 \u00e1ggal val\u00f3 elmarad\u00e1suk vagy megel\u0151z\u00e9s\u00fck \u00e9rt\u00e9kel\u00e9s\u00e9hez egy egysoros parancs haszn\u00e1lhat\u00f3: $ 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 a kor\u00e1bban haszn\u00e1lt szkript helyett, amely 17-szer lassabb: $ 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 &#171;git fetch&#187; parancshoz hozz\u00e1adva a &#171;&#8212;porcelain&#187; opci\u00f3, melynek megad\u00e1s\u00e1val a kimenet a &#171;&lt;flag&gt; &lt;r\u00e9gi-objektum-id&gt; &lt;\u00faj-objektum-id&gt; &lt;helyi-referencia&gt;&#187; form\u00e1tumban k\u00e9sz\u00fcl, mely kev\u00e9sb\u00e9 olvashat\u00f3, de jobban kezelhet\u0151 szkriptekben.\n<li class=\"l\"> Hozz\u00e1adva a &#171;fetch.hideRefs&#187; be\u00e1ll\u00edt\u00e1s, amely felgy gyors\u00edtja a &#171;git fetch&#187; m\u0171veleteket az\u00e1ltal, hogy egyes referenci\u00e1kat elrejt a helyi t\u00e1rol\u00f3ban a teljes objektumk\u00e9szlet ellen\u0151rz\u00e9se sor\u00e1n a szerver \u00e1ltal, ami id\u0151t takar\u00edt meg az\u00e1ltal, hogy csak a $remote-ot ellen\u0151rzi. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/hu\/server\/\"   title=\"szerverek\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1714\">szerverek<\/a>, ahonnan k\u00f6zvetlen\u00fcl nyerik az adatokat. P\u00e9ld\u00e1ul, egy olyan rendszeren v\u00e9gzett teszt sor\u00e1n, amely nagy sz\u00e1m\u00fa k\u00fcls\u0151 hivatkoz\u00e1st tartalmaz\u00f3 t\u00e1rol\u00f3kkal rendelkezik, az \u00f6sszes hivatkoz\u00e1s, kiv\u00e9ve a c\u00e9lzott <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/hu\/server\/dts-shicago\/\"   title=\"szerverhez\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2936\">szerverhez<\/a> $remote, a &#171;git fetch&#187; m\u0171velet v\u00e9grehajt\u00e1si ideje 20 percr\u0151l 30 m\u00e1sodpercre cs\u00f6kkent. $ git -c fetch.hideRefs=refs -c fetch.hideRefs=!refs\/remotes\/$remote &#092; fetch $remote\n<li class=\"l\"> A &#171;git fsck&#187; parancsban megval\u00f3s\u00edtva a s\u00e9r\u00fcl\u00e9sek ellen\u0151rz\u00e9s\u00e9nek, a checksumok megfelel\u0151s\u00e9g\u00e9nek \u00e9s az el\u00e9rhet\u0151s\u00e9gi bit-t\u00e9rk\u00e9pek \u00e9s visszafel\u00e9 indexek helyes \u00e9rt\u00e9keinek ellen\u0151rz\u00e9se.\n<li class=\"l\"> A &#171;git clone &#8212;local&#187; parancsban megval\u00f3sult a hiba\u00fczenet kimenete, ha egy szimbolikus linket tartalmaz\u00f3 rep\u00f3b\u00f3l pr\u00f3b\u00e1lunk m\u00e1solni a $GIT_DIR-en bel\u00fcl.        <\/ul>\n<p>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=59234\">opennet.ru<\/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.3 - 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\/hu\/blog\/news\/dostupna-sistema-upravleniya-ishodnymi-tekstami-git-2-41\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\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\/hu\/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\udd47El\u00e9rhet\u0151 a Git 2.41 verzi\u00f3kezel\u0151 rendszer | ProHoster","description":"H\u00e1rom h\u00f3napos fejleszt\u00e9s ut\u00e1n megjelent a Git 2.41 elosztott verzi\u00f3kezel\u0151 rendszer.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/news\/dostupna-sistema-upravleniya-ishodnymi-tekstami-git-2-41","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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\/hu\/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\/hu\/wp-json\/wp\/v2\/posts\/108813","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=108813"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/108813\/revisions"}],"predecessor-version":[{"id":160216,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/108813\/revisions\/160216"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/108814"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=108813"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=108813"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=108813"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}