{"title":"Djangos källkodsarkiv","version":"6.1","locale":"sv","docname":"internals/git","url":"/sv/6.1/internals/git/","canonical":"https://djangodocs.dev/sv/6.1/internals/git/","summary":"När du distribuerar en Django-applikation till en riktig produktionsmiljö vill du nästan alltid använda ”en officiell paketerad version av Django”. Men om du vill…","html":"<h1>Djangos källkodsarkiv<a class=\"heading-anchor\" href=\"#the-django-source-code-repository\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>När du distribuerar en Django-applikation till en riktig produktionsmiljö vill du nästan alltid använda ”en officiell paketerad version av Django”.</p>\n<p>Men om du vill prova kod under utveckling från en kommande version eller bidra till utvecklingen av Django, måste du skaffa en klon av Djangos källkodsarkiv.</p>\n<p>Det här dokumentet beskriver hur kodarkivet är uppbyggt och hur man arbetar med och hittar saker i det.</p>\n<section id=\"high-level-overview\">\n<h2>Översikt på hög nivå<a class=\"heading-anchor\" href=\"#high-level-overview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Djangos källkodsarkiv använder <a class=\"reference external\" href=\"https://git-scm.com/\">Git</a> för att spåra ändringar i koden över tid, så du behöver en kopia av Git-klienten (ett program som heter <code class=\"docutils literal notranslate\"><span class=\"pre\">git</span></code>) på din dator, och du vill bekanta dig med grunderna i hur Git fungerar.</p>\n<p>Gits webbplats erbjuder nedladdningar för olika operativsystem. Webbplatsen innehåller också stora mängder <a class=\"reference external\" href=\"https://git-scm.com/doc\">dokumentation</a>.</p>\n<p>Djangos Git-förvar finns online på <a class=\"reference external\" href=\"https://github.com/django/django\">github.com/django/django</a>. Den innehåller den fullständiga källkoden för alla Django-versioner, som du kan bläddra i online.</p>\n<p>Git-förvaret innehåller flera ”grenar”:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">main</span></code> innehåller den huvudsakliga koden under utveckling som kommer att bli nästa paketerade version av Django. Det är här den mesta utvecklingsaktiviteten är fokuserad.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">stable/A.B.x</span></code> är de grenar där arbetet med att förbereda releaser sker. De används också för buggfix- och säkerhetsreleaser som sker vid behov efter den första releasen av en funktionsversion.</p></li>\n</ul>\n<p>Git-förvaret innehåller också <a class=\"reference external\" href=\"https://github.com/django/django/tags\">tags</a>. Dessa är de exakta revisionerna från vilka paketerade Django-versioner producerades, sedan version 1.0.</p>\n<p>Ett antal taggar finns också under prefixet <code class=\"docutils literal notranslate\"><span class=\"pre\">archive/</span></code> för <a class=\"reference internal\" href=\"#archived-feature-development-work\"><span class=\"std std-ref\">archived work</span></a>.</p>\n<p>Källkoden för webbplatsen <a class=\"reference external\" href=\"https://www.djangoproject.com/\">Djangoproject.com</a> finns på <a class=\"reference external\" href=\"https://github.com/django/djangoproject.com\">github.com/django/djangoproject.com</a>.</p>\n</section>\n<section id=\"the-main-branch\">\n<h2>Huvudgrenen<a class=\"heading-anchor\" href=\"#the-main-branch\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Om du vill prova den kod som är under utveckling för nästa version av Django, eller om du vill bidra till Django genom att åtgärda buggar eller utveckla nya funktioner, bör du hämta koden från huvudgrenen.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Före mars 2021 kallades huvudgrenen för <code class=\"docutils literal notranslate\"><span class=\"pre\">master</span></code>.</p>\n</aside>\n<p>Observera att detta kommer att få <em>allt</em> av Django: förutom toppnivån <code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code>-modulen som innehåller Python-kod, får du också en kopia av Djangos dokumentation, testsvit, förpackningsskript och andra diverse bitar. Djangos kod kommer att finnas i din klon som en katalog med namnet <code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code>.</p>\n<p>För att prova den kod som är under utveckling med dina egna applikationer, placera katalogen som innehåller din klon på din Python-importväg. Då kommer <code class=\"docutils literal notranslate\"><span class=\"pre\">import</span></code>-uttalanden som letar efter Django att hitta <code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code>-modulen i din klon.</p>\n<p>Om du kommer att arbeta med Djangos kod (till exempel för att fixa en bugg eller utveckla en ny funktion) kan du förmodligen sluta läsa här och gå vidare till <a class=\"reference internal\" href=\"/sv/6.1/internals/contributing/\"><span class=\"doc\">dokumentationen för att bidra till Django</span></a>, som täcker saker som den föredragna kodningsstilen och hur man genererar och skickar in en patch.</p>\n</section>\n<section id=\"stable-branches\">\n<h2>Stabila grenar<a class=\"heading-anchor\" href=\"#stable-branches\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django använder grenar för att förbereda sig inför releaser av Django. Varje större release-serie har sin egen stabila gren.</p>\n<p>Dessa grenar finns i arkivet som <code class=\"docutils literal notranslate\"><span class=\"pre\">stable/A.B.x</span></code> grenar och kommer att skapas direkt efter att den första alfan är taggad.</p>\n<p>Till exempel, omedelbart efter att <em>Django 1.5 alpha 1</em> taggades, skapades grenen <code class=\"docutils literal notranslate\"><span class=\"pre\">stable/1.5.x</span></code> och allt ytterligare arbete med att förbereda koden för den slutliga 1.5-utgåvan gjordes där.</p>\n<p>Dessa grenar ger också stöd för buggfixar och säkerhet enligt beskrivningen i <a class=\"reference internal\" href=\"/sv/6.1/internals/release-process/#supported-versions-policy\"><span class=\"std std-ref\">Versioner som stöds</span></a>.</p>\n<p>Till exempel, efter lanseringen av Django 1.5 får grenen <code class=\"docutils literal notranslate\"><span class=\"pre\">stable/1.5.x</span></code> endast korrigeringar för säkerhets- och kritiska stabilitetsbuggar, som så småningom släpps som Django 1.5.1 och så vidare, <code class=\"docutils literal notranslate\"><span class=\"pre\">stable/1.4.x</span></code> får endast säkerhets- och dataförlustkorrigeringar, och <code class=\"docutils literal notranslate\"><span class=\"pre\">stable/1.3.x</span></code> får inte längre några uppdateringar.</p>\n<aside class=\"admonition-historical-information admonition\">\n<p class=\"admonition-title\">Historisk information</p>\n<p>Denna policy för hantering av grenarna <code class=\"docutils literal notranslate\"><span class=\"pre\">stable/A.B.x</span></code> antogs från och med Django 1.5:s utgivningscykel.</p>\n<p>Tidigare skapades dessa grenar inte förrän direkt efter utgåvorna och stabiliseringsarbetet skedde på huvudförvarets gren. Således kunde inget utvecklingsarbete för nya funktioner för nästa version av Django göras förrän den slutliga versionen hade släppts.</p>\n<p>Till exempel, kort efter lanseringen av Django 1.3 skapades grenen <code class=\"docutils literal notranslate\"><span class=\"pre\">stable/1.3.x</span></code>. Det officiella stödet för den utgåvan har upphört, och därför får den inte längre direkt underhåll från Django-projektet. Den och alla andra grenar med liknande namn fortsätter dock att existera, och intresserade gemenskapsmedlemmar har ibland använt dem för att ge inofficiellt stöd för gamla Django-versioner.</p>\n</aside>\n</section>\n<section id=\"id1\">\n<h2>Taggar<a class=\"heading-anchor\" href=\"#id1\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Varje Django-release är märkt och signerad av releasegivaren.</p>\n<p>Taggarna finns på GitHubs <a class=\"reference external\" href=\"https://github.com/django/django/tags\">tags</a>-sida.</p>\n<section id=\"archived-feature-development-work\">\n<span id=\"id3\"></span><h3>Arkiverad funktion-utvecklingsarbete<a class=\"heading-anchor\" href=\"#archived-feature-development-work\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<aside class=\"admonition-historical-information admonition\">\n<p class=\"admonition-title\">Historisk information</p>\n<p>Sedan Django flyttade till Git 2012 kan vem som helst klona arkivet och skapa sina egna grenar, vilket minskar behovet av officiella grenar i källkodsarkivet.</p>\n<p>Följande avsnitt är mest användbart om du utforskar arkivets historia, till exempel om du försöker förstå hur vissa funktioner utformades.</p>\n</aside>\n<p>Funktionsutvecklingsgrenar tenderar av sin natur att vara tillfälliga. Vissa producerar framgångsrika funktioner som slås samman tillbaka till Djangos huvudgren för att bli en del av en officiell utgåva, men andra gör det inte; i båda fallen kommer det en tid då grenen inte längre aktivt arbetas med av någon utvecklare. Vid denna tidpunkt anses grenen vara stängd.</p>\n<p>Django brukade underhållas med revisionskontrollsystemet Subversion, som inte har något standardiserat sätt att ange detta. Som en lösning flyttades grenar av Django som är stängda och inte längre underhålls till <code class=\"docutils literal notranslate\"><span class=\"pre\">attic</span></code>.</p>\n<p>Ett antal taggar finns under prefixet <code class=\"docutils literal notranslate\"><span class=\"pre\">archive/</span></code> för att upprätthålla en referens till detta och andra verk av historiskt intresse.</p>\n<p>Följande taggar under prefixet <code class=\"docutils literal notranslate\"><span class=\"pre\">archive/attic/</span></code> refererar till toppen av grenar vars kod så småningom blev en del av Django själv:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">boulder-oracle-sprint</span></code>: Lagt till stöd för Oracle-databaser i Djangos objekt-relationella mappare. Detta har varit en del av Django sedan 1.0-utgåvan.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">gis</span></code>: Lagt till stöd för geografiska/spatiala frågor till Djangos objekt-relationella mappare. Detta har varit en del av Django sedan 1.0-utgåvan, som den medföljande applikationen <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">i18n</span></code>: Lade till <a class=\"reference internal\" href=\"/sv/6.1/topics/i18n/\"><span class=\"doc\">internationaliseringsstöd</span></a> till Django. Detta har varit en del av Django sedan 0.90-utgåvan.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">magisk-removal</span></code>: En större refaktorisering av både de interna och publika API:erna i Djangos objekt-relationella mappare. Detta har varit en del av Django sedan 0.95-utgåvan.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">multi-auth</span></code>: En omarbetning av <a class=\"reference internal\" href=\"/sv/6.1/topics/auth/\"><span class=\"doc\">Djangos medföljande autentiseringsramverk</span></a> som lade till stöd för <a class=\"reference internal\" href=\"/sv/6.1/topics/auth/customizing/#authentication-backends\"><span class=\"std std-ref\">autentiseringsbackends</span></a>. Detta har varit en del av Django sedan 0.95-utgåvan.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ny-admin</span></code>: En refaktorisering av <a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/admin/\"><span class=\"doc\">Djangos medföljande administrativa applikation</span></a>. Detta blev en del av Django från och med 0.91-utgåvan, men ersattes av en annan refaktorisering (se nästa lista) före Django 1.0-utgåvan.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">newforms-admin</span></code>: Den andra refaktoriseringen av Djangos medföljande administrativa applikation. Detta blev en del av Django från och med 1.0-utgåvan och är grunden för den nuvarande inkarnationen av <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.admin</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">queryset-refactor</span></code>: En refaktorisering av de interna delarna av Djangos objekt-relationella mappare. Detta blev en del av Django från och med 1.0-utgåvan.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">unicode</span></code>: En refaktorisering av Djangos interna funktioner för att konsekvent använda Unicode-baserade strängar på de flesta ställen inom Django och Django-applikationer. Detta blev en del av Django från och med 1.0-utgåvan.</p></li>\n</ul>\n<p>Dessutom hänvisar följande taggar under prefixet <code class=\"docutils literal notranslate\"><span class=\"pre\">archive/attic/</span></code> till tipsen på grenar som stängdes, men vars kod aldrig slogs samman till Django, och de funktioner som de syftade till att implementera blev aldrig färdiga:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">full-historia</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">generisk-auth</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">stöd</span> <span class=\"pre\">för</span> <span class=\"pre\">flera</span> <span class=\"pre\">databaser</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">per-objekt-behörigheter</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">schema-evolution</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">schema-evolution-ng</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">search-api</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">sqlalchemy</span></code></p></li>\n</ul>\n<p>Slutligen, under prefixet <code class=\"docutils literal notranslate\"><span class=\"pre\">archive/</span></code>, innehåller arkivet <code class=\"docutils literal notranslate\"><span class=\"pre\">soc20XX/&lt;project&gt;</span></code> taggar som refererar till spetsen på grenar som användes av studenter som arbetade med Django under 2009 och 2010 års Google Summer of Code-program.</p>\n</section>\n</section>","rootId":"the-django-source-code-repository","toc":[{"title":"Översikt på hög nivå","anchor":"high-level-overview","children":[]},{"title":"Huvudgrenen","anchor":"the-main-branch","children":[]},{"title":"Stabila grenar","anchor":"stable-branches","children":[]},{"title":"Taggar","anchor":"id1","children":[{"title":"Arkiverad funktion-utvecklingsarbete","anchor":"archived-feature-development-work","children":[]}]}],"breadcrumbs":[{"docname":"internals/index","title":"Djangos interna funktioner","url":"/sv/6.1/internals/"}],"prev":{"docname":"internals/deprecation","title":"Tidslinje för avveckling av Django","url":"/sv/6.1/internals/deprecation/"},"next":{"docname":"internals/howto-release-django","title":"Så här släpper du Django","url":"/sv/6.1/internals/howto-release-django/"},"formats":{"html":"/sv/6.1/internals/git/","markdown":"/sv/6.1/internals/git.md","json":"/sv/6.1/internals/git.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/internals/git.txt","official":"https://docs.djangoproject.com/sv/6.1/internals/git/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}