{"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\/sq\/blog\/news\/dostupna-sistema-upravleniya-ishodnymi-tekstami-git-2-41","title":{"rendered":"Sistemi i menaxhimit t\u00eb kodit burimor Git 2.41 \u00ebsht\u00eb n\u00eb dispozit\u00eb","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Pas tre muajsh zhvillimi, \u00ebsht\u00eb publikuar versioni i sistemit t\u00eb shp\u00ebrndar\u00eb t\u00eb menaxhimit t\u00eb teksteve burimore Git 2.41. Git \u00ebsht\u00eb nj\u00eb nga sistemet m\u00eb t\u00eb njohura, t\u00eb besueshme dhe me performanc\u00eb t\u00eb lart\u00eb p\u00ebr menaxhimin e versioneve, q\u00eb ofron mjete fleksib\u00ebl p\u00ebr zhvillim jo-linear, t\u00eb bazuara n\u00eb deg\u00ebzim dhe bashkim t\u00eb deg\u00ebve. P\u00ebr t\u00eb siguruar integritetin e historis\u00eb dhe q\u00ebndrueshm\u00ebrin\u00eb ndaj ndryshimeve \"p\u00ebrmes pasit\", aplikohet hashingu implicit i gjith\u00eb historis\u00eb s\u00eb m\u00ebparshme n\u00eb \u00e7do commit, gjithashtu \u00ebsht\u00eb e mundur verifikimi me n\u00ebnshkrime digjitale t\u00eb zhvilluesve p\u00ebr etiketa dhe commit-e t\u00eb caktuara.     <\/p>\n<p>N\u00eb krahasim me versionin e kaluar, n\u00eb versionin e ri jan\u00eb pranuar 542 ndryshime, t\u00eb p\u00ebrgatitura nga 95 zhvillues, nga t\u00eb cil\u00ebt 29 kan\u00eb marr\u00eb pjes\u00eb p\u00ebr her\u00eb t\u00eb par\u00eb n\u00eb zhvillim. Risit\u00eb kryesore jan\u00eb:  <\/p>\n<ul>\n<li class=\"l\"> P\u00ebrmir\u00ebsohet p\u00ebrpunimi i objekteve t\u00eb paarrira (unreachable), p\u00ebr t\u00eb cilat n\u00eb depo nuk ka lidhje (degat ose etiketat nuk i referohen). Objektet e paarrira hiqen nga mbledh\u00ebsi i mbeturinave, por deri n\u00eb heqje ato mbeten p\u00ebr nj\u00eb koh\u00eb t\u00eb caktuar brenda depozit\u00ebs p\u00ebr t\u00eb parandaluar gjendjet e gar\u00ebs. P\u00ebr t\u00eb ndjekur periudh\u00ebn e ekzistenc\u00ebs s\u00eb objekteve t\u00eb paarrira, \u00ebsht\u00eb e nevojshme t\u00eb lidhen etiketa me koh\u00ebn e ndryshimit t\u00eb atyre objekteve, gj\u00eb q\u00eb nuk lejon ruajtjen e tyre n\u00eb nj\u00eb skedar pack, ku t\u00eb gjitha objektet kan\u00eb nj\u00eb koh\u00eb t\u00eb p\u00ebrbashk\u00ebt ndryshimi. M\u00eb par\u00eb, \u00e7do objekt i paarrir\u00eb ruhej n\u00eb nj\u00eb skedar t\u00eb ve\u00e7ant\u00eb, q\u00eb shkaktonte probleme kur kishte nj\u00eb num\u00ebr t\u00eb madh objektivsh t\u00eb rinj t\u00eb paarrir\u00eb, t\u00eb cil\u00ebt ende nuk ishin t\u00eb prir\u00eb p\u00ebr heqje. N\u00eb versionin e ri, p\u00ebr paketimin e objekteve t\u00eb paarrira, mekanizmi \"cruft packs\" aktivizohet si parazgjedhje, duke lejuar ruajtjen e t\u00eb gjitha objekteve t\u00eb paarrira n\u00eb nj\u00eb skedar pack, nd\u00ebrsa t\u00eb dh\u00ebnat p\u00ebr koh\u00ebn e modifikimit t\u00eb \u00e7do objekti reflektohen n\u00eb nj\u00eb tabel\u00eb t\u00eb ve\u00e7ant\u00eb, e cila ruhet n\u00eb nj\u00eb skedar me zgjerim \".mtimes\" dhe lidhet p\u00ebrmes nj\u00eb skedari indeksi me zgjerim \".idx\".    <center><img decoding=\"async\" alt=\"Sistemi i menaxhimit t\u00eb kodit burimor Git 2.41 \u00ebsht\u00eb n\u00eb dispozit\u00eb\" src=\"\/wp-content\/uploads\/2023\/06\/1158b26b1dfd1c16c93017669224d7a4.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>\n<li class=\"l\"> Aktivizohet si parazgjedhje mbajtja e nj\u00eb indeksi t\u00eb kund\u00ebrt (revindex) p\u00ebr skedar\u00ebt pack n\u00eb disk. Gjat\u00eb testimit n\u00eb depozit\u00ebn torvalds\/linux, aplikimi i indeksit t\u00eb kund\u00ebrt lejojoi p\u00ebrshpejtimin e operacioneve k\u00ebrkuese \"git push\" p\u00ebr 1.49 her\u00eb, nd\u00ebrsa operacionet e thjeshta, si llogaritja e madh\u00ebsis\u00eb s\u00eb nj\u00eb objekti me ndihm\u00ebn e \"git cat-file --batch='%(objectsize:disk)'\" p\u00ebr 77 her\u00eb. Skedar\u00ebt (\".rev\") me indeks t\u00eb kund\u00ebrt do t\u00eb ruhten brenda depozit\u00ebs n\u00eb katalogun \".git\/objects\/pack\".\n<p>E rikujtojm\u00eb se Git ruan t\u00eb dh\u00ebnat e gjitha n\u00eb form\u00eb objektesh, t\u00eb cilat vendosen n\u00eb skedare t\u00eb ve\u00e7anta. P\u00ebr t\u00eb rritur efikasitetin e pun\u00ebs me repositorin, objektet gjithashtu vendosen n\u00eb skedar\u00eb pack, n\u00eb t\u00eb cilat informacioni paraqitet si nj\u00eb rrjedh\u00eb e objekteve q\u00eb pasojn\u00eb nj\u00ebra-tjetr\u00ebn (formati i ngjash\u00ebm p\u00ebrdoret gjat\u00eb d\u00ebrgimit t\u00eb objekteve nga komandat git fetch dhe git push). P\u00ebr \u00e7do skedar pack krijohet nj\u00eb skedar indeksi (.idx), q\u00eb lejon q\u00eb shum\u00eb shpejt t\u00eb p\u00ebrcaktohet pozita n\u00eb skedarin pack, ku ruhet ky objekt, sipas identifikuesit t\u00eb tij.     <\/p>\n<p>Indeksi i ri i p\u00ebrfshir\u00eb n\u00eb versionin e ri fokusohet n\u00eb optimizimin e procesit t\u00eb identifikimit t\u00eb identifikuesit t\u00eb objektit p\u00ebrmes informacionit mbi vendndodhjen e objektit n\u00eb skedarin pack. M\u00eb par\u00eb, nj\u00eb transformim i till\u00eb realizohej n\u00eb koh\u00eb reale gjat\u00eb analiz\u00ebs s\u00eb skedarit pack dhe ruheshin vet\u00ebm n\u00eb memorie, duke mos lejuar rip\u00ebrdorimin e indekseve t\u00eb tilla dhe duke detyruar gjenerimin e indekseve \u00e7do her\u00eb. Operacioni i nd\u00ebrtimit t\u00eb indekseve p\u00ebrb\u00ebhet nga nd\u00ebrtimi i nj\u00eb array nga \u00e7iftet \"objekt-pozit\u00eb\" dhe renditja e tij sipas pozit\u00ebs, q\u00eb mund t\u00eb marr\u00eb shum\u00eb koh\u00eb p\u00ebr skedar\u00ebt e m\u00ebdhenj pack.     <\/p>\n<p>P\u00ebr shembull, operacioni i shfaqjes s\u00eb p\u00ebrmbajtjes s\u00eb objekteve, n\u00eb t\u00eb cilin p\u00ebrdoret indeksi i drejtp\u00ebrdrejt\u00eb, u p\u00ebrshpejtua 62 her\u00eb m\u00eb shpejt se operacioni i shfaqjes s\u00eb madh\u00ebsis\u00eb s\u00eb objekteve, p\u00ebr t\u00eb cilin t\u00eb dh\u00ebnat mbi lidhjen e pozit\u00ebs me objektin nuk ishin indekse. Pas p\u00ebrdorimit t\u00eb indeksit t\u00eb rikthimit, operacionet e p\u00ebrmendura filluan t\u00eb kishin nj\u00eb koh\u00eb af\u00ebrsisht t\u00eb nj\u00ebjt\u00eb. Indeksat e rikthimit gjithashtu lejojn\u00eb t\u00eb shpejtojn\u00eb operacionet e d\u00ebrgimit t\u00eb objekteve gjat\u00eb ekzekutimit t\u00eb komandave fetch dhe push p\u00ebrmes d\u00ebrgimit t\u00eb drejtp\u00ebrdrejt\u00eb t\u00eb t\u00eb dh\u00ebnave tashm\u00eb t\u00eb gatshme nga disku.    <center><img decoding=\"async\" alt=\"Sistemi i menaxhimit t\u00eb kodit burimor Git 2.41 \u00ebsht\u00eb n\u00eb dispozit\u00eb\" src=\"\/wp-content\/uploads\/2023\/06\/ed6cb7102da37d1262fd3079ac983158.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>      <\/p>\n<li class=\"l\"> N\u00eb protokollin \"credential helper\", i p\u00ebrdorur p\u00ebr t\u00eb transmetuar akreditet gjat\u00eb qasjes n\u00eb depo me qasje t\u00eb kufizuar, \u00ebsht\u00eb shtuar mb\u00ebshtetje p\u00ebr transmetimin e headerave WWW-Authenticate midis menaxhu\u00ebsit t\u00eb akreditiveve dhe sh\u00ebrbimit n\u00eb t\u00eb cilin kryhet autentifikimi. Mb\u00ebshtetja e headerit WWW-Authenticate lejon transmetimin e parametrave t\u00eb scope-it OAuth p\u00ebr ndarje m\u00eb granulare t\u00eb aksesit t\u00eb p\u00ebrdoruesit n\u00eb depo dhe ndarjen e zonave t\u00eb qasshme p\u00ebr k\u00ebrkesat.\n<li class=\"l\"> N\u00eb komand\u00ebn for-each-ref \u00ebsht\u00eb shtuar opsioni i formatit &#171;%(ahead-behind:&lt;base&gt;)&#187;, i cili lejon marrjen e informacionit mbi numrin e komiteteve q\u00eb jan\u00eb t\u00eb pranishme ose t\u00eb mungojn\u00eb n\u00eb nj\u00eb deg\u00eb t\u00eb caktuar n\u00eb p\u00ebrputhje me nj\u00eb deg\u00eb tjet\u00ebr (n\u00ebse nj\u00eb deg\u00eb \u00ebsht\u00eb prapa ose para nj\u00eb tjetre n\u00eb nivelin e komiteteve). M\u00eb par\u00eb, p\u00ebr t\u00eb marr\u00eb nj\u00eb informacion t\u00eb till\u00eb nevojiteshin dy komanda t\u00eb ve\u00e7anta: &#171;git rev-list &#8212;count main..my-feature&#187; p\u00ebr t\u00eb marr\u00eb numrin e komiteteve unike t\u00eb deg\u00ebs dhe &#171;git rev-list &#8212;count my-feature..main&#187; p\u00ebr t\u00eb marr\u00eb numrin e komiteteve t\u00eb munguar. Tani, k\u00ebto llogaritje mund t\u00eb reduktohen n\u00eb nj\u00eb komand\u00eb, \u00e7ka thjeshton shkrimin e procesor\u00ebve dhe shkurtimin e koh\u00ebs s\u00eb ekzekutimit. P\u00ebr shembull, p\u00ebr t\u00eb treguar deg\u00ebt q\u00eb nuk kan\u00eb kaluar n\u00eb fusion dhe p\u00ebr t\u00eb vler\u00ebsuar prap\u00ebsin\u00eb ose p\u00ebrpar\u00ebsin\u00eb e tyre n\u00eb krahasim me deg\u00ebn kryesore, mund t\u00eb p\u00ebrdorim nj\u00eb linj\u00eb:           $ 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      n\u00eb vend t\u00eb skriptit t\u00eb m\u00ebparsh\u00ebm, i cili ekzekutohet 17 her\u00eb m\u00eb ngadal\u00eb:         $ 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\"> N\u00eb komand\u00ebn &#171;git fetch&#187; \u00ebsht\u00eb shtuar opsioni &#171;&#8212;porcelain&#187;, i cili, kur specifikohet, gjeneron nj\u00eb daljen n\u00eb formatin &#171;&lt;flag&gt; &lt;old-object-id&gt; &lt;new-object-id&gt; &lt;local-reference&gt;&#187;, m\u00eb pak t\u00eb lexuesh\u00ebm, por m\u00eb t\u00eb leht\u00eb p\u00ebr t'u analizuar n\u00eb skripta.\n<li class=\"l\"> \u00cbsht\u00eb shtuar konfigurimi &#171;fetch.hideRefs&#187;, i cili lejon q\u00eb operacionet &#171;git fetch&#187; t\u00eb shpejtohen duke fshehur nj\u00eb pjes\u00eb t\u00eb referencave n\u00eb depo lokale gjat\u00eb faz\u00ebs s\u00eb verifikimit nga serveri t\u00eb grumbullimit t\u00eb plot\u00eb t\u00eb objekteve, \u00e7ka lejon ruajtjen e koh\u00ebs duke kufizuar verifikimin vet\u00ebm n\u00eb $remote, duke lejuar q\u00eb ekzekutimi i operacionit &#171;git fetch&#187; t\u00eb reduktohet nga 20 minuta n\u00eb 30 sekonda.       $ git -c fetch.hideRefs=refs -c fetch.hideRefs=!refs\\\/remotes\\\/$remote &#092;     fetch $remote <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sq\/server\/\"   title=\"server\u00ebsh\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1714\">server\u00ebsh<\/a>, nga t\u00eb cilat nxirren t\u00eb dh\u00ebna drejtp\u00ebrdrejt. P\u00ebr shembull, gjat\u00eb testimit n\u00eb nj\u00eb sistem me depo q\u00eb p\u00ebrmbajn\u00eb nj\u00eb num\u00ebr t\u00eb madh lidhjesh t\u00eb jashtme t\u00eb ndjekura, p\u00ebrjashtimi i t\u00eb gjitha lidhjeve p\u00ebrve\u00e7 atyre t\u00eb adresuara q\u00ebllimit <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sq\/server\/dts-shicago\/\"   title=\"serverit\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2936\">serverit<\/a> N\u00eb komand\u00ebn &#171;git fsck&#187; \u00ebsht\u00eb implementuar mund\u00ebsia p\u00ebr t\u00eb kontrolluar d\u00ebmtimet, p\u00ebrputhshm\u00ebrin\u00eb e kontroll\u00ebs s\u00eb shum\u00ebs dhe korrekt\u00ebsin\u00eb e vlerave n\u00eb tabelat e disponueshm\u00ebris\u00eb dhe indekset e kund\u00ebrt.\n<li class=\"l\"> Ekipi \"git fsck\" ka implementuar mund\u00ebsin\u00eb p\u00ebr t\u00eb kontrolluar d\u00ebmtimet, p\u00ebrputhshm\u00ebrin\u00eb e kontrolleve dhe sakt\u00ebsin\u00eb e vlerave n\u00eb hartat bit t\u00eb disponueshm\u00ebrise dhe indekset e kthej.\n<li class=\"l\"> N\u00eb ekipin &#171;git clone &#8212;local&#187; \u00ebsht\u00eb realizuar dalja e gabimeve kur p\u00ebrpiqesh t\u00eb kopjosh nga nj\u00eb depo q\u00eb p\u00ebrmban lidhje simbolike brenda $GIT_DIR.        <\/ul>\n<p>Burimi: <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.2 - 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\/sq\/blog\/news\/dostupna-sistema-upravleniya-ishodnymi-tekstami-git-2-41\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\/sq\/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\udd47Sistemi i menaxhimit t\u00eb teksteve burimore Git 2.41 \u00ebsht\u00eb n\u00eb dispozit\u00eb | ProHoster","description":"Pas tre muajsh zhvillimi, \u00ebsht\u00eb publikuar l\u00ebshimi i sistemit t\u00eb shp\u00ebrndar\u00eb t\u00eb menaxhimit t\u00eb teksteve burimore Git 2.41.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/news\/dostupna-sistema-upravleniya-ishodnymi-tekstami-git-2-41","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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\/sq\/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\/sq\/wp-json\/wp\/v2\/posts\/108813","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=108813"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/108813\/revisions"}],"predecessor-version":[{"id":160216,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/108813\/revisions\/160216"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/108814"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=108813"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=108813"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=108813"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}