Skip to content

Commit ed8bf56

Browse files
author
dscho
committed
book: update sv
Updated via the `update-book.yml` GitHub workflow.
1 parent 4c626a9 commit ed8bf56

1,102 files changed

Lines changed: 25046 additions & 24919 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

external/book/content/book/sv/v2/Anpassa-Git-Ett-exempel-på-Git‑upprätthållen-policy.html

Lines changed: 523 additions & 0 deletions
Large diffs are not rendered by default.

external/book/content/book/sv/v2/Anpassa-Git-Git‑attribut.html

Lines changed: 456 additions & 0 deletions
Large diffs are not rendered by default.

external/book/content/book/sv/v2/Anpassa-Git-Git‑konfiguration.html

Lines changed: 653 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 199 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,199 @@
1+
---
2+
### DO NOT EDIT! Generated by script/update-book2.rb
3+
category: book
4+
section: learn
5+
subsection: book
6+
sidebar: book
7+
book:
8+
language_code: sv
9+
chapter:
10+
title: Anpassa Git
11+
number: 8
12+
section:
13+
title: Git‑krokar
14+
number: 3
15+
cs_number: '8.3'
16+
previous: book/sv/v2/Anpassa-Git-Git‑attribut
17+
next: book/sv/v2/Anpassa-Git-Ett-exempel-på-Git‑upprätthållen-policy
18+
title: Git - Git‑krokar
19+
url: "/book/sv/v2/Anpassa-Git-Git‑krokar.html"
20+
---
21+
<h2 id="_git_hooks">Git‑krokar</h2>
22+
<div class="paragraph">
23+
<p>
24+
Likt många andra versionshanteringssystem har Git ett sätt att köra egna skript när vissa viktiga händelser inträffar.
25+
Det finns två grupper av krokar: klientsidan och serversidan.
26+
Krokar på klientsidan triggas av operationer som incheckning och sammanslagning, medan krokar på serversidan körs vid nätverksoperationer som att ta emot uppskickade incheckningar.
27+
Du kan använda dessa krokar av många olika skäl.</p>
28+
</div>
29+
<div class="sect3">
30+
<h3 id="_installera_en_krok">Installera en krok</h3>
31+
<div class="paragraph">
32+
<p>Alla krokar lagras i underkatalogen <code>hooks</code> i Git‑katalogen.
33+
I de flesta projekt är det <code>.git/hooks</code>.
34+
När du initierar ett nytt kodförråd med <code>git init</code> fyller Git krok‑katalogen med en uppsättning exempelskript, varav många är användbara i sig själva; de dokumenterar också vilka indata varje skript får.
35+
Alla exempel är skrivna som skalskript, med lite Perl insprängt, men alla korrekt namngivna körbara skript fungerar – du kan skriva dem i Ruby, Python eller vilket språk du nu är bekväm med.
36+
Om du vill använda de medföljande krok‑skripten behöver du byta namn på dem; deras filnamn slutar med <code>.sample</code>.</p>
37+
</div>
38+
<div class="paragraph">
39+
<p>För att aktivera ett krok‑skript lägger du en fil i underkatalogen <code>hooks</code> i din <code>.git</code>‑katalog som är rätt namngiven (utan filändelse) och körbar.
40+
Från den punkten ska den anropas.
41+
Vi går igenom de flesta stora krok‑namn här.</p>
42+
</div>
43+
</div>
44+
<div class="sect3">
45+
<h3 id="_krokar_på_klientsidan">Krokar på klientsidan</h3>
46+
<div class="paragraph">
47+
<p>Det finns många krokar på klientsidan.
48+
Detta avsnitt delar in dem i krokar för incheckningsflödet, skript för e-postflöde och allt annat.</p>
49+
</div>
50+
<div class="admonitionblock note">
51+
<table>
52+
<tr>
53+
<td class="icon">
54+
<div class="title">Notera</div>
55+
</td>
56+
<td class="content">
57+
<div class="paragraph">
58+
<p>Det är viktigt att notera att krokar på klientsidan <strong>inte</strong> kopieras när du klonar ett kodförråd.
59+
Om din avsikt med dessa skript är att upprätthålla en policy vill du sannolikt göra det på serversidan; se exemplet i <a href="{{< relurl "book/sv/v2/ch00/_an_example_git_enforced_policy" >}}">Ett exempel på Git‑upprätthållen policy</a>.</p>
60+
</div>
61+
</td>
62+
</tr>
63+
</table>
64+
</div>
65+
<div class="sect4">
66+
<h4 id="_krokar_för_incheckningsflödet">Krokar för incheckningsflödet</h4>
67+
<div class="paragraph">
68+
<p>De första fyra hooksen har att göra med incheckningsprocessen.</p>
69+
</div>
70+
<div class="paragraph">
71+
<p>Kroken <code>pre-commit</code> körs först, innan du ens skriver in ett incheckningsmeddelande.
72+
Den används för att inspektera ögonblicksbilden som ska checkas in, för att se om du glömt något, för att se till att tester körs, eller för att granska det du behöver i koden.
73+
Om skriptet avslutas med en icke‑nollkod avbryts incheckningen, även om du kan förbigå den med <code>git commit --no-verify</code>.
74+
Du kan till exempel kontrollera kodstil (köra <code>lint</code> eller motsvarande), kontrollera släpande blanktecken (standardkroken gör exakt detta) eller kontrollera att nya metoder har korrekt dokumentation.</p>
75+
</div>
76+
<div class="paragraph">
77+
<p>Kroken <code>prepare-commit-msg</code> körs innan redigeraren för incheckningsmeddelandet startar men efter att standardmeddelandet skapats.
78+
Den låter dig redigera standardmeddelandet innan författaren ser det.
79+
Kroken tar några parametrar: sökvägen till filen som innehåller incheckningsmeddelandet hittills, typen av incheckning och incheckningens SHA‑1 om det gäller en ändrad incheckning.
80+
Denna krok är i allmänhet inte användbar för normala incheckningar; snarare är den bra för incheckningar där standardmeddelandet genereras automatiskt, såsom mallade incheckningsmeddelanden, sammanslagningsincheckningar, sammanfogade incheckningar och ändrade incheckningar.
81+
Du kan använda den tillsammans med en incheckningsmall för att programatiskt infoga information.</p>
82+
</div>
83+
<div class="paragraph">
84+
<p>Kroken <code>commit-msg</code> tar en parameter, vilket återigen är sökvägen till en temporär fil som innehåller incheckningsmeddelandet som utvecklaren har skrivit.
85+
Om detta skript avslutas med en icke‑nollkod avbryter Git incheckningsprocessen, så du kan använda det för att validera projektets läge eller incheckningsmeddelandet innan incheckningen får gå igenom.
86+
I sista delen av det här kapitlet visar vi hur du använder denna krok för att kontrollera att incheckningsmeddelandet följer ett obligatoriskt mönster.</p>
87+
</div>
88+
<div class="paragraph">
89+
<p>När hela incheckningsprocessen är klar körs kroken <code>post-commit</code>.
90+
Den tar inga parametrar, men du kan enkelt få den senaste incheckningen genom att köra <code>git log -1 HEAD</code>.
91+
I allmänhet används detta skript för aviseringar eller liknande.</p>
92+
</div>
93+
</div>
94+
<div class="sect4">
95+
<h4 id="_email_hooks">Krokar för e‑postflöde</h4>
96+
<div class="paragraph">
97+
<p>Du kan sätta upp tre krokar på klientsidan för ett e‑postbaserat arbetsflöde.
98+
De anropas alla av kommandot <code>git am</code>, så om du inte använder det kommandot i ditt arbetsflöde kan du tryggt hoppa till nästa avsnitt.
99+
Om du tar emot ändringspatchar via e‑post som förberetts av <code>git format-patch</code> kan några av dessa vara användbara.</p>
100+
</div>
101+
<div class="paragraph">
102+
<p>Den första kroken som körs är <code>applypatch-msg</code>.
103+
Den tar ett enda argument: namnet på den temporära filen som innehåller det föreslagna incheckningsmeddelandet.
104+
Git avbryter ändringspatchen om skriptet avslutas med en icke‑nollkod.
105+
Du kan använda detta för att se till att ett incheckningsmeddelande är korrekt formaterat, eller för att normalisera meddelandet genom att låta skriptet redigera det på plats.</p>
106+
</div>
107+
<div class="paragraph">
108+
<p>Nästa krok som körs när man applicerar ändringspatchar via <code>git am</code> är <code>pre-applypatch</code>.
109+
Lite förvirrande körs den <em>efter</em> att ändringspatchen applicerats men före att en incheckning görs, så du kan använda den för att inspektera ögonblicksbilden innan incheckningen sker.
110+
Du kan köra tester eller på annat sätt granska arbetsträdet med detta skript.
111+
Om något saknas eller testerna inte går igenom avbryter en icke‑nollkod <code>git am</code>‑skriptet utan att checka in ändringspatchen.</p>
112+
</div>
113+
<div class="paragraph">
114+
<p>Den sista kroken som körs under en <code>git am</code>‑operation är <code>post-applypatch</code>, som körs efter att incheckningen har gjorts.
115+
Du kan använda den för att meddela en grupp eller författaren till ändringspatchen att du har tagit in den.
116+
Du kan inte stoppa själva appliceringen med detta skript.</p>
117+
</div>
118+
</div>
119+
<div class="sect4">
120+
<h4 id="_other_client_hooks">Andra krokar på klientsidan</h4>
121+
<div class="paragraph">
122+
<p>Kroken <code>pre-rebase</code> körs innan du ombaserar något och kan stoppa processen genom att avslutas med en icke‑nollkod.
123+
Du kan använda denna krok för att förhindra ombasering av incheckningar som redan har skickats upp.
124+
Exempelkroken <code>pre-rebase</code> som Git installerar gör detta, även om den gör vissa antaganden som kanske inte matchar ditt arbetsflöde.</p>
125+
</div>
126+
<div class="paragraph">
127+
<p>Kroken <code>post-rewrite</code> körs av kommandon som ersätter incheckningar, såsom <code>git commit --amend</code> och <code>git rebase</code> (men inte av <code>git filter-branch</code>).
128+
Dess enda argument är vilket kommando som utlöste omskrivningen, och den tar emot en lista över omskrivningar på <code>stdin</code>.
129+
Denna krok har många av samma användningar som hooksen <code>post-checkout</code> och <code>post-merge</code>.</p>
130+
</div>
131+
<div class="paragraph">
132+
<p>Efter att du har kört en lyckad <code>git checkout</code> körs kroken <code>post-checkout</code>; du kan använda den för att ställa in din arbetskatalog korrekt för projektets miljö.
133+
Det kan innebära att flytta in stora binärfiler som du inte vill versionshantera, auto‑generera dokumentation eller något i den stilen.</p>
134+
</div>
135+
<div class="paragraph">
136+
<p>Kroken <code>post-merge</code> körs efter en lyckad <code>merge</code>.
137+
Du kan använda den för att återställa data i arbetsträdet som Git inte kan spåra, såsom behörighetsdata.
138+
Kroken kan också validera att filer som ligger utanför Gits kontroll finns på plats, sådant du vill kopiera in när arbetsträdet förändras.</p>
139+
</div>
140+
<div class="paragraph">
141+
<p>Kroken <code>pre-push</code> körs under <code>git push</code>, efter att fjärrreferenserna uppdaterats men innan några objekt har överförts.
142+
Den tar namnet och platsen för fjärrkodförrådet som parametrar, samt en lista över referenser som ska uppdateras via <code>stdin</code>.
143+
Du kan använda den för att validera uppsättningen referensuppdateringar innan en uppskickning sker (en icke‑nollkod avbryter uppskickningen).</p>
144+
</div>
145+
<div class="paragraph">
146+
<p>Git gör ibland skräpsamling som en del av sin normala drift, genom att anropa <code>git gc --auto</code>.
147+
Kroken <code>pre-auto-gc</code> anropas precis innan skräpsamlingen sker, och kan användas för att meddela dig att detta händer, eller för att avbryta samlingen om det inte är ett bra tillfälle.</p>
148+
</div>
149+
</div>
150+
</div>
151+
<div class="sect3">
152+
<h3 id="_krokar_på_serversidan">Krokar på serversidan</h3>
153+
<div class="paragraph">
154+
<p>Utöver krokar på klientsidan kan du använda ett par viktiga krokar på serversidan som systemadministratör för att upprätthålla nästan vilken policy som helst för ditt projekt.
155+
Dessa skript körs före och efter uppskickningar till servern.
156+
Pre‑hooksen kan avslutas med en icke‑nollkod när som helst för att neka uppskickningen och skriva ett felmeddelande tillbaka till klienten; du kan sätta upp en uppskickningspolicy som är så komplex som du vill.</p>
157+
</div>
158+
<div class="sect4">
159+
<h4 id="_pre_receive"><code>pre-receive</code></h4>
160+
<div class="paragraph">
161+
<p>Det första skriptet som körs när en uppskickning tas emot från en klient är <code>pre-receive</code>.
162+
Det tar en lista över referenser som skickas upp via stdin; om det avslutas med en icke‑nollkod accepteras ingen av dem.
163+
Du kan använda denna krok för att till exempel se till att inga uppdaterade referenser är icke‑snabbspolningar, eller för att göra åtkomstkontroll för alla referenser och filer de ändrar med uppskickningen.</p>
164+
</div>
165+
</div>
166+
<div class="sect4">
167+
<h4 id="_update"><code>update</code></h4>
168+
<div class="paragraph">
169+
<p>Skriptet <code>update</code> är mycket likt skriptet <code>pre-receive</code>, förutom att det körs en gång för varje gren som den som skickar upp försöker uppdatera.
170+
Om någon försöker skicka till flera grenar körs <code>pre-receive</code> bara en gång, medan <code>update</code> körs en gång per gren de skickar upp till.
171+
I stället för att läsa från stdin tar skriptet tre argument: namnet på referensen (grenen), SHA‑1‑värdet som referensen pekade på före uppskickningen, och SHA‑1‑värdet användaren försöker skicka.
172+
Om skriptet <code>update</code> avslutas med en icke‑nollkod avslås bara den referensen; andra referenser kan fortfarande uppdateras.</p>
173+
</div>
174+
</div>
175+
<div class="sect4">
176+
<h4 id="_post_receive"><code>post-receive</code></h4>
177+
<div class="paragraph">
178+
<p>Kroken <code>post-receive</code> körs efter att hela processen är klar och kan användas för att uppdatera andra tjänster eller meddela användare.
179+
Den tar samma stdin‑data som kroken <code>pre-receive</code>.
180+
Exempel är att skicka e-post till en lista, meddela en CI‑server eller uppdatera ett ärendehanteringssystem – du kan till och med analysera incheckningsmeddelanden för att se om ärenden behöver öppnas, modifieras eller stängas.
181+
Detta skript kan inte stoppa uppskickningsprocessen, men klienten kopplar inte ned förrän det är klart, så var försiktig om du försöker göra något som kan ta lång tid.</p>
182+
</div>
183+
<div class="admonitionblock tip">
184+
<table>
185+
<tr>
186+
<td class="icon">
187+
<div class="title">Tips</div>
188+
</td>
189+
<td class="content">
190+
<div class="paragraph">
191+
<p>Om du skriver ett skript eller en krok som andra behöver läsa, föredra de långa versionerna av kommandoradsflaggor; om sex månader kommer du att tacka oss.</p>
192+
</div>
193+
</td>
194+
</tr>
195+
</table>
196+
</div>
197+
</div>
198+
</div>
199+
<div id="nav"><a href="{{< previous-section >}}">prev</a> | <a href="{{< next-section >}}">next</a></div>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
### DO NOT EDIT! Generated by script/update-book2.rb
3+
category: book
4+
section: learn
5+
subsection: book
6+
sidebar: book
7+
book:
8+
language_code: sv
9+
chapter:
10+
title: Anpassa Git
11+
number: 8
12+
section:
13+
title: Sammanfattning
14+
number: 5
15+
cs_number: '8.5'
16+
previous: book/sv/v2/Anpassa-Git-Ett-exempel-på-Git‑upprätthållen-policy
17+
next: book/sv/v2/Git-och-andra-system-Git-som-klient
18+
title: Git - Sammanfattning
19+
---
20+
<h2 id="_sammanfattning_11">Sammanfattning</h2>
21+
<div class="paragraph">
22+
<p>Vi har gått igenom de flesta sätten att anpassa din Git‑klient och server så att de passar ditt arbetsflöde och dina projekt.
23+
Du har lärt dig om en mängd konfigurationsinställningar, filbaserade attribut och händelsekrokar, och du har byggt en exempelserver som upprätthåller policy.
24+
Nu bör du kunna få Git att passa nästan vilket drömarbetsflöde som helst.</p>
25+
</div>
26+
<div id="nav"><a href="{{< previous-section >}}">prev</a> | <a href="{{< next-section >}}">next</a></div>
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
---
2+
### DO NOT EDIT! Generated by script/update-book2.rb
3+
category: book
4+
section: learn
5+
subsection: book
6+
sidebar: book
7+
book:
8+
language_code: sv
9+
chapter:
10+
title: 'Bilaga A: Git i andra miljöer'
11+
number: 1
12+
section:
13+
title: Git i Bash
14+
number: 6
15+
cs_number: A1.6
16+
previous: book/sv/v2/Bilaga-A:-Git-i-andra-miljöer-Git-i-Sublime-Text
17+
next: book/sv/v2/Bilaga-A:-Git-i-andra-miljöer-Git-i-Zsh
18+
title: Git - Git i Bash
19+
url: "/book/sv/v2/Bilaga-A:-Git-i-andra-miljöer-Git-i-Bash.html"
20+
---
21+
<h2 id="_git_i_bash">Git i Bash</h2>
22+
<div class="paragraph">
23+
<p>
24+
Om du använder Bash kan du dra nytta av några av skalets funktioner för att göra din Git‑upplevelse betydligt trevligare.
25+
Git levereras med insticksprogram för flera skal, men de är inte aktiverade som standard.</p>
26+
</div>
27+
<div class="paragraph">
28+
<p>Först behöver du hämta en kopia av kompletteringsfilen från källkoden till den Git‑version du använder.
29+
Kontrollera din version genom att skriva <code>git version</code>, och använd sedan <code>git checkout tags/vX.Y.Z</code>, där <code>vX.Y.Z</code> motsvarar den Git‑version du använder.
30+
Kopiera filen <code>contrib/completion/git-completion.bash</code> till någon lämplig plats, som din hemkatalog, och lägg till detta i din <code>.bashrc</code>:</p>
31+
</div>
32+
<div class="listingblock">
33+
<div class="content">
34+
<pre class="highlight"><code class="language-console" data-lang="console">. ~/git-completion.bash</code></pre>
35+
</div>
36+
</div>
37+
<div class="paragraph">
38+
<p>När det är klart byter du katalog till ett Git‑kodförråd och skriver:</p>
39+
</div>
40+
<div class="listingblock">
41+
<div class="content">
42+
<pre class="highlight"><code class="language-console" data-lang="console">$ git chec&lt;tab&gt;</code></pre>
43+
</div>
44+
</div>
45+
<div class="paragraph">
46+
<p>…och Bash autokompletterar till <code>git checkout</code>.
47+
Detta fungerar med alla Gits underkommandon, kommandoradsparametrar samt namn på fjärrkodförråd och referenser där det är relevant.</p>
48+
</div>
49+
<div class="paragraph">
50+
<p>Det är också användbart att anpassa din prompt så att den visar information om den aktuella katalogens Git‑kodförråd.
51+
Det kan vara så enkelt eller komplext som du vill, men det finns vanligen ett par nyckelbitar av information som de flesta vill ha, som aktuell gren och status för arbetskatalogen.
52+
För att lägga till detta i din prompt kopierar du bara filen <code>contrib/completion/git-prompt.sh</code> från Gits källkodförråd till din hemkatalog och lägger till något i den här stilen i din <code>.bashrc</code>:</p>
53+
</div>
54+
<div class="listingblock">
55+
<div class="content">
56+
<pre class="highlight"><code class="language-console" data-lang="console">. ~/git-prompt.sh
57+
export GIT_PS1_SHOWDIRTYSTATE=1
58+
export PS1='\w$(__git_ps1 " (%s)")\$ '</code></pre>
59+
</div>
60+
</div>
61+
<div class="paragraph">
62+
<p><code>\w</code> betyder att skriva ut den aktuella arbetskatalogen, <code>\$</code> skriver ut <code>$</code>‑delen av prompten, och <code>__git_ps1 " (%s)"</code> anropar funktionen som tillhandahålls av <code>git-prompt.sh</code> med ett formateringsmönster.
63+
Nu kommer din bash‑prompt att se ut så här när du befinner dig någonstans inne i ett Git‑styrt projekt:</p>
64+
</div>
65+
<div class="imageblock">
66+
<div class="content">
67+
<img src="{{< relurl "book/sv/v2/images/git-bash.png" >}}" alt="Anpassad `bash`‑prompt">
68+
</div>
69+
<div class="title">Figur 182. Anpassad <code>bash</code>‑prompt</div>
70+
</div>
71+
<div class="paragraph">
72+
<p>Båda dessa skript har hjälpsam dokumentation; ta en titt på innehållet i <code>git-completion.bash</code> och <code>git-prompt.sh</code> för mer information.</p>
73+
</div>
74+
<div id="nav"><a href="{{< previous-section >}}">prev</a> | <a href="{{< next-section >}}">next</a></div>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
### DO NOT EDIT! Generated by script/update-book2.rb
3+
category: book
4+
section: learn
5+
subsection: book
6+
sidebar: book
7+
book:
8+
language_code: sv
9+
chapter:
10+
title: 'Bilaga A: Git i andra miljöer'
11+
number: 1
12+
section:
13+
title: Git i IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
14+
number: 4
15+
cs_number: A1.4
16+
previous: book/sv/v2/Bilaga-A:-Git-i-andra-miljöer-Git-i-Visual-Studio-Code
17+
next: book/sv/v2/Bilaga-A:-Git-i-andra-miljöer-Git-i-Sublime-Text
18+
title: Git - Git i IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
19+
url: "/book/sv/v2/Bilaga-A:-Git-i-andra-miljöer-Git-i-IntelliJ-/-PyCharm-/-WebStorm-/-PhpStorm-/-RubyMine.html"
20+
---
21+
<h2 id="_git_i_intellij_pycharm_webstorm_phpstorm_rubymine">Git i IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine</h2>
22+
<div class="paragraph">
23+
<p>
24+
JetBrains‑IDE:er (som IntelliJ IDEA, PyCharm, WebStorm, PhpStorm, RubyMine och andra) levereras med ett insticksprogram för Git‑integration.
25+
Det ger en dedikerad vy i IDE:n för att arbeta med Git och GitHub‑hämta requests.</p>
26+
</div>
27+
<div class="imageblock">
28+
<div class="content">
29+
<img src="{{< relurl "book/sv/v2/images/jb.png" >}}" alt="Versionskontrollverktygsfönster i JetBrains‑IDE:er">
30+
</div>
31+
<div class="title">Figur 181. Versionskontrollverktygsfönster i JetBrains‑IDE:er</div>
32+
</div>
33+
<div class="paragraph">
34+
<p>Integrationen bygger på Git‑klienten för kommandoraden och kräver att en sådan är installerad.
35+
Den officiella dokumentationen finns på <a href="https://www.jetbrains.com/help/idea/using-git-integration.html" class="bare" target="_blank" rel="noopener">https://www.jetbrains.com/help/idea/using-git-integration.html</a>.</p>
36+
</div>
37+
<div id="nav"><a href="{{< previous-section >}}">prev</a> | <a href="{{< next-section >}}">next</a></div>

0 commit comments

Comments
 (0)