{"id":182406,"date":"2026-07-01T02:48:39","date_gmt":"2026-07-01T00:48:40","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/git-2-55"},"modified":"2026-07-01T02:48:39","modified_gmt":"2026-07-01T00:48:40","slug":"git-2-55","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/news\/git-2-55","title":{"rendered":"Git 2.55","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/07\/6dbdbc163ff5da36a60137dc1b576b56.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><noindex>      <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/lkml\/xmqqv7b1w9vr.fsf@gitster.g\/\">Presenteras<\/a> utg\u00e5van av det distribuerade systemet f\u00f6r hantering av k\u00e4lltexter <a rel=\"nofollow\" href=\"http:\/\/git-scm.com\/\">Git 2.55<\/a>. Bland de viktigaste f\u00f6r\u00e4ndringarna: standardinb\u00e4ddning av Rust-kompilering, implementering av fsmonitor-processt f\u00f6r Linux, en ny strategi f\u00f6r ompaketering av inkrementell MIDX-indexering, git history fixup-kommando f\u00f6r att korrigera ett commit, optimering av generering av tillg\u00e4nglighetsbitmapar, st\u00f6d f\u00f6r parallell exekvering av hooks, git format-rev-kommando. Git-kod <a rel=\"nofollow\" href=\"https:\/\/github.com\/git\/git\/\">sprids<\/a> under GPLv2+.<\/p>\n<p><\/noindex><\/noindex><\/p>\n<p>J\u00e4mf\u00f6rt med f\u00f6reg\u00e5ende version inneh\u00e5ller den nya versionen 505 \u00e4ndringar, f\u00f6rberedda med deltagande av 100 utvecklare, varav 33 deltog i utvecklingen av Git f\u00f6r f\u00f6rsta g\u00e5ngen.<\/p>\n<p><noindex><\/p>\n<p>Huvudnyheterna (<a rel=\"nofollow\" href=\"https:\/\/github.blog\/open-source\/git\/highlights-from-git-2-55\/\">github.blog<\/a>, <a rel=\"nofollow\" href=\"https:\/\/about.gitlab.com\/blog\/whats-new-in-git-2-55-0\/\">gitlab.com\/blog<\/a>, <a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/git-scm\/git\/-\/blob\/HEAD\/Documentation\/RelNotes\/2.55.0.adoc\">gitlab.com\/git-scm<\/a>):<\/p>\n<p><\/noindex><\/p>\n<ul>\n<li>Som standard <a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/git-scm\/git\/-\/commit\/32d5b905909e781786c4735e6bd71503b23e4fb1\">\u00e4r inkluderad<\/a> st\u00f6d f\u00f6r komponenter skrivna i Rust. Kompilatorn rustc <a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/git-scm\/git\/-\/blob\/HEAD\/Documentation\/BreakingChanges.adoc\">tillagd<\/a> bland byggberoenden. F\u00f6r att bygga utan Rust kan flaggan NO_RUST=1 anv\u00e4ndas vid k\u00f6rning av make-verktyget eller -Drust=disabled vid utf\u00f6rande av meson configure. M\u00f6jligheten att st\u00e4nga av byggandet med Rust kommer att st\u00f6djas fram till Git 3.0, d\u00e4r Rust kommer att <a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=63914\">p\u00e5slagen<\/a> bland obligatoriska beroenden. En Rust-baserad adapter har implementerats f\u00f6r portabilitet mellan konfigurationer med SHA-1 och SHA-256-hashar, samt vissa interna funktioner som kodning och avkodning av variabla heltalsv\u00e4rden. I framtiden f\u00f6rv\u00e4ntas en omfattande omarbetning av viktigare interna komponenter av Git till Rust.<\/li>\n<li>I det experimentella teamet &quot;<a rel=\"nofollow\" href=\"https:\/\/git-scm.com\/docs\/git-history\/2.55.0\">git history&quot;<\/a>, har operationen &laquo;git history fixup&raquo; lagts till f\u00f6r att r\u00e4tta till en commit. Fixup-operationen till\u00e5ter att \u00e4ndringar som lagts till via git add flyttas till en tidigare commit och automatiskt om skriva alla efterf\u00f6ljande commits, liknande kommandot git commit &#8212;fixup=&lt;commit&gt; och k\u00f6rning av git rebase &#8212;autosquash &lt;commit&gt;~.<\/li>\n<li>F\u00f6r Linux-plattformen har en bakgrundsprocess <a rel=\"nofollow\" href=\"https:\/\/git-scm.com\/docs\/git-fsmonitor--daemon\/2.55.0\">fsmonitor<\/a>, implementerats f\u00f6r att sp\u00e5ra \u00e4ndringar i filsystemet med hj\u00e4lp av mekanismen <a rel=\"nofollow\" href=\"https:\/\/man7.org\/linux\/man-pages\/man7\/inotify.7.html\">inotify<\/a> och m\u00f6jligg\u00f6r att man slipper g\u00e5 igenom hela arbetskatalogen n\u00e4r man utf\u00f6r s\u00e5dana kommandon som git status. Aktivering sker genom inst\u00e4llningen &laquo;<a rel=\"nofollow\" href=\"https:\/\/git-scm.com\/docs\/git-config#Documentation\/git-config.txt-corefsmonitor\">core.fsmonitor<\/a>&raquo;.<\/li>\n<li>I git repack-teamet har l\u00e4get &#8212;write-midx=incremental lagts till, vilket implementerar en ny strategi f\u00f6r att uppdatera metadata i en inkrementell MIDX-index (multi-pack index), vilket g\u00f6r det m\u00f6jligt att undvika att hela indexet \u00e5terpackas. I den inkrementella multipacketindexen anv\u00e4nds ett lagerdelningssystem ist\u00e4llet f\u00f6r ett stort index som inneh\u00e5ller information om distributionen av objekt i pack-filer; varje lager t\u00e4cker ett visst antal pack-filer och lagras i en separat bitmap-fil. Denna struktur m\u00f6jligg\u00f6r att l\u00e4gga till objektdata i nya pack-filer till indexet genom att f\u00e4sta nya lager till indexet utan att omstrukturera de befintliga lagren. Kommandot git repack &#8212;write-midx=incremental g\u00f6r det m\u00f6jligt att l\u00e4gga till ett nytt lager i den inkrementella MIDX-indexet som omfattar nyligen skapade pack-filer. Tillsammans med l\u00e4get f\u00f6r lagerpackning &#8212;geometric ger den nya kommandot m\u00f6jligheten att kombinera nya objekt fr\u00e5n flera pack-filer till en st\u00f6rre pack-fil och vid behov utf\u00f6ra packning och sammanslagning av flera angr\u00e4nsande lager i den inkrementella MIDX-indexet. Denna strategi g\u00f6r det m\u00f6jligt att vid k\u00f6rning av git repack skriva om endast de \u00f6vre lagren, vilket l\u00e4mnar de gamla stora lagren or\u00f6rda, samt att f\u00f6rhindra okontrollerad tillv\u00e4xt av lagerkedjan, medan det totala antalet lager h\u00e5lls p\u00e5 en niv\u00e5 som \u00e4r proportionell mot logaritmen av det totala antalet objekt.<\/li>\n<li>Genereringen av bitmapps tillg\u00e4nglighet f\u00f6r objekt har betydligt optimerats tack vare en ny algoritm f\u00f6r att traversera objekttr\u00e4det, som utesluter on\u00f6dig rekursion, cachelagrar objekts positioner, sorterar bitmapps innan de sammanfogas med operasjonen XOR och omarbetar koden f\u00f6r att skapa bitmapps f\u00f6r pseudomerger (<a rel=\"nofollow\" href=\"https:\/\/git-scm.com\/docs\/gitpacking\/2.55.0#_pseudo_merge_bitmaps\">pseudo-merge<\/a>). I det testade repositoryt gjorde optimeringarna att tiden f\u00f6r genereringen av bitmapps minskade fr\u00e5n 612 till 294 sekunder.<\/li>\n<li>M\u00f6jligheten till parallell exekvering av oberoende <a rel=\"nofollow\" href=\"https:\/\/git-scm.com\/docs\/githooks\">hooks<\/a> i konfigurationsfiler. Hooks som p\u00e5verkar det gemensamma tillst\u00e5ndet eller beaktar det, till exempel som \u00e4ndrar commit-kommentarer eller inspekterar index och arbetskataloger, kan inte k\u00f6ras parallellt. Men hooks f\u00f6r lintern och enhetstester kan k\u00f6ras parallellt. Hooks som till\u00e5ter parallell k\u00f6rning konfigureras med parametern hook.namn_huk.parallel = true. Antalet samtidiga jobb best\u00e4ms genom inst\u00e4llningen hook.jobs, hook..jobs eller kommandoradsalternativet -j.<\/li>\n<li>I git pack-objects &#8212;path-walk har m\u00f6jligheten att ange filter, s\u00e5som blob:none, blob:limit=&lt;n&gt;, tree:0, object:type=&lt;type&gt;, sparse:&lt;oid&gt; och combine:. I genomf\u00f6rda tester gjorde borttagning av blobs under &#8212;path-walk det m\u00f6jligt att minska storleken p\u00e5 den genererade pack-filen med 16%.<\/li>\n<li>Kommandot git format-rev har lagts till f\u00f6r att formatera revisioner och objektnamn som n\u00e4mns i commitlistor eller f\u00f6rekommer i godtycklig text (till exempel f\u00f6r anv\u00e4ndning i hooks f\u00f6r att bearbeta commit-kommentarer).<\/li>\n<\/ul>\n<p>       git last-modified | git format-rev &#8212;stdin-mode=text &#8212;format=%an<\/p>\n<p>       Junio C Hamano\tbuiltin\/commit.c<\/p>\n<ul>\n<li>Som standard ing\u00e5r nu escapande av de flesta terminalkontrollsekvenser i informationsmeddelanden och feltext som \u00f6verf\u00f6rs av servern. Vid kontakt med en skadlig server kunde s\u00e5dana escape-sekvenser anv\u00e4ndas f\u00f6r att d\u00f6lja eller modifiera utdata, till exempel genom escape-sekvenser f\u00f6r att flytta mark\u00f6ren och rensa text. St\u00f6d f\u00f6r escape-sekvenser f\u00f6r att f\u00e4rgmarkera element har l\u00e4mnats kvar.<\/li>\n<li>Kommandot git checkout -m sparar nu automatiskt konfliktande lokala \u00e4ndringar i stash-omr\u00e5det utan att det beh\u00f6vs en omedelbar l\u00f6sning av konflikten.<\/li>\n<li>M\u00f6jligheten att skicka en gren till flera externa Git-servrar med ett enda kommando har lagts till git push. Till exempel, f\u00f6r att \u00f6verf\u00f6ra grenen main till b\u00e5de huvudservern och speglar kan du skapa en publik grupp av servrar github, gitlab och mirror:<\/li>\n<\/ul>\n<p>git config remotes.publish &quot;github gitlab mirror&quot;<br \/>\ngit push publish main<\/p>\n<ul>\n<li>I git log kommandon har tillagts ett alternativ --graph-lane-limit= f\u00f6r att begr\u00e4nsa antalet vertikala rader vid visualisering av grenar, vilket g\u00f6r att det finns plats p\u00e5 sk\u00e4rmen f\u00f6r information om commits i repositoryn med ett stort antal grenar.<\/li>\n<\/ul>\n<p>&#8230;<br \/>\n* | | | |   619931f561 Sl\u00e5 samman branch &#8216;dl\/posix-unused-warning-clang&#8217;<br \/>\n|\\ \\ \\ \\ \\<br \/>\n| * | | | ~ cf48887610 compat\/posix.h: f\u00f6renkla GIT_GNUC_PREREQ() j\u00e4mf\u00f6relse<br \/>\n| * | | | ~ ffd45926dc compat\/posix.h: rensa upp GIT_GNUC_PREREQ() och UNUSED<br \/>\n|\\ \\ \\ \\ \\~<br \/>\n| * | | | ~ 3f5203eeb4 ls-files: filtrera pathspec innan lstat<\/p>\n<ul>\n<li>I kommandona git log och git rev-list har ett alternativ --max-count-oldest= lagts till, vilket g\u00f6r att du kan v\u00e4lja N \u00e4ldsta commits inom intervallet.<\/li>\n<\/ul>\n<p>K\u00e4lla: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/development\/18330405\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \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.55. \u0421\u0440\u0435\u0434\u0438 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439: \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0441\u0431\u043e\u0440\u043a\u0438 \u0441 Rust, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u043b\u044f Linux \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 fsmonitor, \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f \u043f\u0435\u0440\u0435\u0443\u043f\u0430\u043a\u043e\u0432\u043a\u0438 \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e MIDX-\u0438\u043d\u0434\u0435\u043a\u0441\u0430, \u043a\u043e\u043c\u0430\u043d\u0434\u0430 git history fixup \u0434\u043b\u044f \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u043c\u0438\u0442\u0430, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0431\u0438\u0442\u043e\u0432\u044b\u0445 \u043a\u0430\u0440\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0445\u0443\u043a\u043e\u0432, \u043a\u043e\u043c\u0430\u043d\u0434\u0430 git format-rev. \u041a\u043e\u0434 Git \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 GPLv2+. \u041f\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":182407,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-182406","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.4 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/news\/git-2-55\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\udd47Git 2.55 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/news\/git-2-55\" \/>\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=\"2026-07-01T00:48:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-07-01T00:48:40+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\udd47Git 2.55 | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/git-2-55","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\udd47Git 2.55 | ProHoster","og:url":"https:\/\/prohoster.info\/sv\/blog\/news\/git-2-55","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":"2026-07-01T00:48:40+00:00","article:modified_time":"2026-07-01T00:48:40+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"182406","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"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-08-05 12:22:12","updated":"2026-08-05 12:22:12","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/182406","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=182406"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/182406\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/182407"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=182406"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=182406"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=182406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}