Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Git cherry-pick kopierar ändringarna från en eller flera källgrens incheckningar till en målgren. Till skillnad från sammanslagning eller ombasering kan du välja specifika källgrensincheckningar. För varje källgrens incheckning som du väljer skapar Git en motsvarande incheckning på målgrenen.
Du kan välja att ta itu med dessa vanliga uppgifter:
Distribuera en specifik funktion från en gren till en annan.
Kopiera arbete som du har utfört på fel gren.
Tillämpa en felkorrigering på flera grenar.
En översikt över Git-arbetsflödet finns i Självstudie om Azure Repos Git.
Azure Repos ger begränsat stöd för körsbärsplockning och endast för att skapa en pull-begäran om att tillämpa en snabbkorrigering på en målgren. Mer information finns i Förbättra Körsbärsplockning i Azure DevOps.
Alternativet Cherry-pick i menyn för pull-begäran i Azure Repos gör följande:
Skapar en ny ämnesgren från pull-begärans målgren.
Cherry väljer alla ändringar från pull-begärans källgren till den nya ämnesgrenen.
Uppmanar dig att skapa en ny pull-begäran för att sammanfoga den nya ämnesgrenen till en annan målgren.
GitHub-webbgränssnittet stöder inte körsbärsplockning, men GitHub Desktop gör det. Stegvis vägledning om hur du väljer körsbär i GitHub Desktop finns i Cherry-picking a commit (Körsbärsplockning).
Visual Studio 2022 tillhandahåller en Git-versionskontroll med hjälp av Git-menyn, Git-ändringar och snabbmenyer i Istraživač rešenja. Visual Studio 2019 version 16.8 erbjuder även Användargränssnittet för Team Explorer Git. Mer information finns på fliken Visual Studio 2019 – Team Explorer .
Välj Git > Hantera grenar för att öppna fönstret Git-lagringsplats .
I fönstret Git-lagringsplats högerklickar du på målgrenen och väljer Checka ut.
I vyn Grenar högerklickar du på källgrenen och väljer Visa historik för att öppna en incheckningshistorikflik.
På fliken Historik högerklickar du på incheckningen som du vill plocka och väljer Cherry-Pick. Visual Studio stöder inte körsbärsplockning mer än en incheckning i taget, så du måste upprepa det här steget för varje incheckning som du vill välja.
Visual Studio skapar en ny incheckning av målgrenen som innehåller ändringarna från den körsbärsplockade incheckningen. Om åtgärden cherry-pick inte har slutförts meddelar Visual Studio dig.
Visual Studio 2019 tillhandahåller en Versionskontroll för Git med hjälp av Git-menyn, Git-ändringar och snabbmenyer i Istraživač rešenja.
Välj Git > Hantera grenar för att öppna fönstret Git-lagringsplats .
I fönstret Git-lagringsplats högerklickar du på målgrenen och väljer Checka ut.
I vyn Grenar högerklickar du på källgrenen och väljer Visa historik för att öppna en incheckningshistorikflik.
På fliken Historik högerklickar du på incheckningen som du vill plocka och väljer Cherry-Pick. Visual Studio stöder inte körsbärsplockning mer än en incheckning i taget, så du måste upprepa det här steget för varje incheckning som du vill välja.
Visual Studio skapar en ny incheckning av målgrenen som innehåller ändringarna från den körsbärsplockade incheckningen. Om åtgärden cherry-pick inte har slutförts meddelar Visual Studio dig.
Visual Studio 2019 version 16.8 och senare versioner ger en Git-versionskontroll samtidigt som du underhåller Git-användargränssnittet för Team Explorer . Om du vill använda Team Explorer avmarkerar du Verktyg>Alternativ>Förhandsgranskning Funktioner>Ny Git-användarupplevelse från menyraden. Du kan använda Git-funktioner från något av gränssnitten på ett och samma sätt.
I Team Explorer väljer du knappen Start och sedan Grenar.
Högerklicka på målgrenen i vyn Grenar och välj Checka ut.
I vyn Grenar högerklickar du på källgrenen och väljer Visa historik för att öppna en incheckningshistorikflik.
På fliken Historik högerklickar du på incheckningen som du vill plocka och väljer Cherry-Pick. Visual Studio stöder inte körsbärsplockning mer än en incheckning i taget, så du måste upprepa det här steget för varje incheckning som du vill välja.
Visual Studio skapar en ny incheckning av målgrenen som innehåller ändringarna från den körsbärsplockade incheckningen. Om åtgärden cherry-pick inte har slutförts meddelar Visual Studio dig.
git log Använd kommandot för att lista källgrenens incheckningar. Flaggan --oneline förkortar incheckningsinformationen.
git log --oneline <source branch>
Git listar de senaste incheckningarna först. Varje inchecknings-ID är en partiell SHA-1-hash som unikt identifierar incheckningen. Till exempel:
e745d06 (HEAD -> add-network-controller) Add a test initialization class
a89f48e (origin/add-network-controller) Add fiber optic transceiver test
31da50b Add network switch test
e74baa2 (origin/main, origin/HEAD, test-fiber-optic-transmitter, main) Add readme content
0c14391 Add readme file
32e3946 Add project files.
Anteckna ID:t för incheckningen som du vill välja.
Kolla in målgrenen om den inte redan är utcheckad.
git checkout <target branch>
Checka in, spara eller ta bort eventuella icke-bakåtkompatibla ändringar.
Så här väljer du en enda incheckning:
git cherry-pick <commit ID>
Om du vill plocka flera incheckningar separerar du inchecknings-ID:t med blanksteg. Incheckningarna tillämpas i den ordning du anger dem:
När du väljer flera incheckningar skapar standardkommandot cherry-pick en motsvarande sekvens med nya incheckningar för målgrenen. Om du vill be Git att mellanlagra och inte checka in ändringarna i målgrenen -n använder du flaggan:
git cherry-pick -n <commit1 ID> <commit2 ID>
Sedan kan du manuellt skapa en enda incheckning för att innehålla alla ändringar från åtgärden cherry-pick.
Git meddelar dig om det finns sammanslagningskonflikter under åtgärden cherry-pick. Du kan antingen lösa konflikterna och sedan köra git cherry-pick --continueeller köra git cherry-pick --abort för att ångra åtgärden cherry-pick.