-
1. Kom igång
- 1.1 Om versionshantering
- 1.2 En kort historik om Git
- 1.3 Vad är Git?
- 1.4 Kommandoraden
- 1.5 Installera Git
- 1.6 Första gången med Git
- 1.7 Få hjälp
- 1.8 Sammanfattning
-
2. Grunderna i Git
- 2.1 Att få tag i ett Git‑kodförråd
- 2.2 Spara ändringar i kodförrådet
- 2.3 Visa incheckningshistoriken
- 2.4 Ångra saker
- 2.5 Arbeta med fjärrkodförråd
- 2.6 Att tagga
- 2.7 Git-alias
- 2.8 Sammanfattning
-
3. Git-grenar
- 3.1 Grenar i korthet
- 3.2 Grundläggande gren- och sammanfogningsarbete
- 3.3 Grenhantering
- 3.4 Arbetsflöden med grenar
- 3.5 Fjärrgrenar
- 3.6 Ombasering
- 3.7 Sammanfattning
-
4. Git på servern
- 4.1 Protokollen
- 4.2 Konfigurera Git på en server
- 4.3 Generera din publika SSH-nyckel
- 4.4 Konfigurera servern
- 4.5 Git-demon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Tredjepartsalternativ
- 4.10 Sammanfattning
-
5. Distribuerat Git
-
6. GitHub
-
7. Git-verktyg
- 7.1 Revisionsurval
- 7.2 Interaktiv köläggning
- 7.3 Lägga undan och städa
- 7.4 Signera ditt arbete
- 7.5 Sökning
- 7.6 Skriva om historik
- 7.7 Nollställning förklarad
- 7.8 Avancerad sammanslagning
- 7.9 Rerere
- 7.10 Felsöka med Git
- 7.11 Undermoduler
- 7.12 Bunta
- 7.13 Ersätt
- 7.14 Lagring av inloggningsuppgifter
- 7.15 Sammanfattning
-
8. Anpassa Git
- 8.1 Git‑konfiguration
- 8.2 Git‑attribut
- 8.3 Git‑krokar
- 8.4 Ett exempel på Git‑upprätthållen policy
- 8.5 Sammanfattning
-
9. Git och andra system
- 9.1 Git som klient
- 9.2 Migrera till Git
- 9.3 Sammanfattning
-
10. Git bakom kulisserna
- 10.1 Lågnivådel och användardel
- 10.2 Git-objekt
- 10.3 Git-referenser
- 10.4 Packfiler
- 10.5 Refspecen
- 10.6 Överföringsprotokoll
- 10.7 Underhåll och dataåterställning
- 10.8 Miljövariabler
- 10.9 Sammanfattning
-
A1. Bilaga A: Git i andra miljöer
- A1.1 Grafiska gränssnitt
- A1.2 Git i Visual Studio
- A1.3 Git i Visual Studio Code
- A1.4 Git i IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.5 Git i Sublime Text
- A1.6 Git i Bash
- A1.7 Git i Zsh
- A1.8 Git i PowerShell
- A1.9 Sammanfattning
-
A2. Bilaga B: Bädda in Git i dina applikationer
- A2.1 Git på kommandoraden
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Bilaga C: Git-kommandon
- A3.1 Uppstart och konfiguration
- A3.2 Skaffa och skapa projekt
- A3.3 Grundläggande ögonblicksbilder
- A3.4 Grening och sammanslagning
- A3.5 Dela och uppdatera projekt
- A3.6 Inspektion och jämförelse
- A3.7 Felsökning
- A3.8 Patchning
- A3.9 E‑post
- A3.10 Externa system
- A3.11 Administration
- A3.12 Lågnivåkommandon
A1.8 Bilaga A: Git i andra miljöer - Git i PowerShell
Git i PowerShell
Den gamla kommandoradsterminalen i Windows (cmd.exe) räcker egentligen inte för en anpassad Git‑upplevelse, men om du använder PowerShell har du tur.
Detta fungerar också om du kör PowerShell Core på Linux eller macOS.
Ett paket som heter posh-git (https://github.com/dahlbyk/posh-git) ger kraftfull tabbkomplettering och en förbättrad prompt som hjälper dig att följa kodförrådets status.
Det ser ut så här:
Installation
Förutsättningar (endast Windows)
Innan du kan köra PowerShell‑skript på din maskin måste du sätta din lokala ExecutionPolicy till RemoteSigned (i praktiken allt utom Undefined och Restricted).
Om du väljer AllSigned i stället för RemoteSigned måste även lokala skript (dina egna) vara digitalt signerade för att få köras.
Med RemoteSigned behöver bara skript med ZoneIdentifier satt till Internet (hämtade från webben) vara signerade, övriga inte.
Om du är administratör och vill ställa in detta för alla användare på maskinen använder du -Scope LocalMachine.
Om du är en vanlig användare utan administratörsrättigheter kan du använda -Scope CurrentUser för att sätta det bara för dig.
Mer om PowerShell‑omfång: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_scopes.
Mer om PowerShell ExecutionPolicy: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy.
För att sätta värdet på ExecutionPolicy till RemoteSigned för alla användare använder du följande kommando:
> Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned -Force
PowerShell Gallery
Om du har minst PowerShell 5 eller PowerShell 4 med PackageManagement installerat kan du använda pakethanteraren för att installera posh-git.
Mer information om PowerShell Gallery: https://learn.microsoft.com/en-us/powershell/scripting/gallery/overview.
> Install-Module posh-git -Scope CurrentUser -Force
> Install-Module posh-git -Scope CurrentUser -AllowPrerelease -Force # Newer beta version with PowerShell Core support
Om du vill installera posh-git för alla användare använder du -Scope AllUsers i stället och kör kommandot från en upphöjd PowerShell‑konsol.
Om det andra kommandot misslyckas med ett fel som Module 'PowerShellGet' was not installed by using Install-Module behöver du köra ett annat kommando först.
> Install-Module PowerShellGet -Force -SkipPublisherCheck
Därefter kan du gå tillbaka och försöka igen. Detta händer eftersom modulerna som följer med Windows PowerShell är signerade med ett annat utgivarcertifikat.
Uppdatera PowerShell‑prompten
För att inkludera Git‑information i din prompt måste posh-git‑modulen importeras.
För att posh-git ska importeras varje gång PowerShell startar kör du kommandot Add-PoshGitToProfile, som lägger till import‑raden i ditt $profile‑skript.
Detta skript körs varje gång du öppnar en ny PowerShell‑konsol.
Tänk på att det finns flera $profile‑skript.
Till exempel ett för konsolen och ett separat för ISE.
> Import-Module posh-git
> Add-PoshGitToProfile -AllHosts
Från källkod
Ladda bara ner en posh-git‑utgåva från https://github.com/dahlbyk/posh-git/releases och packa upp den.
Importera sedan modulen med den fulla sökvägen till filen posh-git.psd1:
> Import-Module <path-to-uncompress-folder>\src\posh-git.psd1
> Add-PoshGitToProfile -AllHosts
Detta lägger till rätt rad i din profile.ps1‑fil, och posh-git är aktivt nästa gång du startar PowerShell.
För en beskrivning av Git‑statussammanfattningen som visas i prompten, se: https://github.com/dahlbyk/posh-git För fler detaljer om hur du anpassar din posh-git‑prompt, se: https://github.com/dahlbyk/posh-git.