Dela via


Hantera Git-lagringsplatser i Visual Studio

Fönstret Git-lagringsplats ger en git-upplevelse i helskärmsläge som hjälper dig att hantera din Git-lagringsplats och hålla dig uppdaterad med teamets projekt. Du kan till exempel behöva återställa, återgå eller cherry-plocka commits, eller bara rensa din kommithistorik. Fönstret Git-lagringsplats är också ett bra ställe att visualisera och hantera dina grenar på.

Versionskontroll med Visual Studio är enkelt med Git. Och du kan arbeta via fjärranslutning med valfri Git-provider, till exempel GitHub eller Azure DevOps. Eller så kan du arbeta lokalt utan någon leverantör alls.

Öppna Git-repositoriefönstret

Om du vill öppna Git-lagringsplats väljer du Visa>Git-lagringsplats (eller trycker på Ctrl+0, Ctrl+R), eller trycker på Ctrl+Q och under Funktionersöker du efter Git-lagringsplats.

Förklara en incheckning med GitHub Copilot Chat

Med Visual Studio 2022 version 17.10 preview 2 och senare och GitHub Copilot-tilläggen kan du använda AI för att generera en detaljerad incheckningsbeskrivning som beskriver ändringarna i incheckningen. Tryck på knappen Förklara för att begära att GitHub Copilot skapar en commitbeskrivning. Information om hur du installerar GitHub Copilot finns i Installera och hantera GitHub Copilot i Visual Studio.

Skärmbild av förklaringsknappen för att begära att GitHub Copilot skapar en incheckningsförklaring.

Ändra den senaste incheckningen (ändra)

Uppdatering av den senaste commit kallas att ändra i Git och är vanligt förekommande. Ibland behöver du bara uppdatera incheckningsmeddelandet, eller så kan du behöva inkludera en ändring i sista minuten.

Du kan ändra en commit på kommandoraden med hjälp av följande kommando:

git commit --amend

Fönstret Git-lagringsplats underlättar uppdateringen av ditt nyligen commit-meddelande. Öppna incheckningsinformationen för den senaste incheckningen genom att dubbelklicka på den och välj sedan alternativet Redigera bredvid incheckningsmeddelandet.

Skärmbild av hur man redigerar ett kommittmeddelande.

När du har redigerat incheckningsmeddelandet väljer du Ändra.

Skärmbild av hur du sparar ett redigerat meddelande genom att välja Ändra.

Om du behöver inkludera kodändringar i din senaste commit kan du göra det i fönstret Git-ändringar. Markera kryssrutan Ändra och checka sedan in ändringarna.

Skärmbild av ändring av kodändringar med hjälp av fönstret Git-ändringar.

Mer information om hur du ändrar incheckningsmeddelanden än den senaste finns i Git Tools – Skriva om historik på Git-webbplatsen.

Slå ihop commits (squash)

För att slå samman en serie commits tillhandahåller Git ett alternativ för att squasha commits till en enda commit. Det här alternativet kan vara användbart om du gör frekventa incheckningar och får en lång lista över incheckningar som du vill rensa innan du skickar till en fjärrlagringsplats.

Du kan slå ihop två commit i kommandoraden med hjälp av följande kommando:

git rebase -i HEAD~2

Uppdatera sedan pick till squash, spara och uppdatera incheckningsmeddelandet.

Skärmbild av att ändra pick till squash.

Om du vill sammanfoga incheckningar i Visual Studio använder du tangenten Ctrl för att välja flera incheckningar som du vill sammanfoga. Högerklicka sedan och välj Squash Commits. Visual Studio kombinerar automatiskt dina incheckningsmeddelanden, men ibland är det bättre att tillhandahålla ett uppdaterat meddelande. När du har granskat och uppdaterat kommentarsmeddelandet väljer du knappen Squash.

Skärmbild av att squasha commits i Visual Studio.

Mer information om squash finns i Git Tools – Skriva om historik på Git-webbplatsen.

Sammanfoga och ombaser grenar

Om du använder Git-grenar för att arbeta med olika funktioner måste du någon gång inkludera uppdateringar som introducerats för andra grenar. Detta kan inträffa när du fortfarande arbetar med din funktionsgren. Det kan också inträffa när du är klar med att arbeta med din funktionsgren och behöver behålla dina ändringar genom att lägga till dem i en annan gren. I Git kan du inkludera dessa uppdateringar genom att slå samman eller ombasera grenar.

Notera

Följande instruktioner använder New_Feature som ett exempelnamn för en funktionsgren. Ersätt den med namnet på din egen gren.

Om du vill sammanfoga huvudgrenen till funktionsgrenen på kommandoraden använder du följande kommandon:

git checkout New_Feature
git merge main

Om du vill göra samma sak i Visual Studio kan du kolla in funktionsgrenen genom att dubbelklicka på den i grenlistan. Högerklicka sedan på huvud och välj Slå samman "main" med "New_Feature".

Skärmbild av sammanslagning av grenar i Visual Studio.

Använd följande kommandon för att ombasera huvudgrenen till din funktionsgren på kommandoraden:

git checkout New_Feature
git rebase main

Om du vill göra samma sak i Visual Studio kan du kolla in funktionsgrenen genom att dubbelklicka på den i grenlistan. Högerklicka sedan på main och välj Basera om 'New_Feature' på 'main'.

Skärmbild av ombasering av grenar i Visual Studio.

Mer information om sammanslagning, ombasering och förgrening i allmänhet finns i Git Branching- på Git-webbplatsen.

Kopiera incheckningar (cherry-pick)

Kopiera commits från en gren till en annan med hjälp av alternativet cherry-pick. Till skillnad från en sammanslagning eller ombasering innebär "cherry-picking" att endast ändringarna från de commit som du väljer, i stället för alla ändringar i en gren, tas med. Körsbärsplockning är ett bra sätt att ta itu med dessa vanliga problem:

  • Av misstag i fel gren. Plocka ändringarna till rätt gren och återställ sedan den ursprungliga grenen till föregående commit.
  • Extrahera en uppsättning ändringar som gjorts i en utvecklingsgren, så att du sammanfogar dem tillbaka till huvudgrenen tidigare.
  • Importera specifika commit-ändringar från huvudgrenen utan att göra om din gren.

Om du vill kopiera ändringar från en commit till din aktuella gren med hjälp av kommandoraden använder du följande kommando:

git cherry-pick 7599e530

För att göra samma sak i Visual Studio, förhandsgranska den gren som du vill cherry-picka en commit från genom att välja den med ett klick. Högerklicka sedan på den riktade commiten och välj Cherry-Pick.

Skärmbild av körsbärsplockning i Visual Studio.

När åtgärden är klar visar Visual Studio ett meddelande om att åtgärden har slutförts. Commiten som du cherry-plockade visas i avsnittet Utgående.

Mer information om incheckningar för körsbärsplockning finns på webbplatsen Git för kommandot cherry-pick.

Återställ ändringar

Använd kommandot revert för att ångra de ändringar som gjorts i kommandon som har skickats till delade grenar. Kommandot revert skapar en ny commit som återställer de ändringar som gjorts i en tidigare commit. Kommandot revert skriver inte om lagringsplatsens historik, vilket gör det säkert att använda när du arbetar med andra.

Om du vill återställa ändringar som gjorts i en commit via kommandoraden använder du följande kommandon. Ersätt exempel-ID:t med ID:t för en verklig commit i din gren.

git revert 53333305
git commit

I föregående exempel kommer kommandona att ångra de ändringar som gjorts i incheckningen 53333305 och skapa en ny incheckning för grenen. Den ursprungliga committen finns fortfarande i Git-historiken. Om du vill göra samma sak i Visual Studio högerklickar du på den commit som du vill revertera och väljer sedan Revertera. När du har bekräftat åtgärden och operationen har slutförts visar Visual Studio ett lyckat meddelande och ett nytt kommittat visas i avsnittet Utgående.

Skärmbild av återställning i Visual Studio.

Välj den nya kommiteringen för att bekräfta att den rullar tillbaka ändringarna i den återställda kommiteringen.

Skärmbild av bekräftande av en återställningsåtgärd.

Menyalternativet Revertera kan vara nedtonat (inaktiverat) under vissa omständigheter, till exempel för sammanslagningar eller när en Git-åtgärd körs.

Mer information om hur du återställer ändringar finns på Git-webbsidan för kommandot revert.

Återställa en gren till ett tidigare tillstånd

Använd kommandot återställ för att återföra en gren i ditt lokala repository till innehållet i en tidigare commit. Den här åtgärden tar bort alla ändringar som har gjorts sedan den commit du återställer din gren till.

Varning

Återställ inte delade grenar eftersom du kan ta bort andra personers arbete. Använd kommandot revert i stället.

Om du vill återställa en gren till ett tidigare tillstånd med hjälp av kommandoraden använder du följande kommando. Ersätt exempel-ID med ID:t för en verklig commit i din gren.

git reset --hard 53333305

Den --hard delen av kommandot instruerar Git att återställa filerna till tillståndet för den tidigare incheckningen och ignorera eventuella mellanlagrade ändringar. Om du vill göra samma sak i Visual Studio högerklickar du på den commit som du vill återställa din gren till och väljer sedan Återställ>Ta bort ändringar (--hard).

Skärmbild som visar återställning av en gren i Visual Studio.

Mer information om hur du återställer grenar finns på Git-webbsidan för återställningskommandot.