Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Git cherry-pick kopieert de wijzigingen van een of meer bronvertakkingen naar een doelvertakking. In tegenstelling tot samenvoegen of herbaseren kunt u met cherry-pick specifieke commits van de bronvertakking selecteren. Bij elke broncommit die je cherry-pickt, maakt Git een bijbehorende commit op de doelbranch.
U kunt ervoor kiezen om specifieke veelvoorkomende taken aan te pakken:
Implementeer een specifieke functie van de ene vertakking naar de andere.
Kopieer werk dat u op de verkeerde tak hebt doorgevoerd.
Pas een bugoplossing toe op meerdere vertakkingen.
- Code weergeven in privéprojecten: Ten minste Basic toegang. - Klonen of bijdragen aan code in privéprojecten: Lid van de Inzenders beveiligingsgroep of bijbehorende machtigingen in het project. - Machtigingen instellen voor vertakking of opslagplaats: Beheer machtigingen voor de vertakking of opslagplaats. - Standaardvertakking wijzigen: beleidsregels bewerken, machtigingen voor de opslagplaats. - Een opslagplaats importeren: Lid van de Projectbeheerders beveiligingsgroep of Git-projectniveau Opslagplaats maken machtiging ingesteld op Toestaan. Zie Machtigingen voor Git-opslagplaatsen instellen voor meer informatie.
In openbare projecten hebben gebruikers met Stakeholder toegang tot volledige toegang tot Azure Repos, waaronder het weergeven, klonen en bijdragen aan code.
- Code weergeven: ten minste Basis toegang. - Klonen of bijdragen aan code: Lid van de beveiligingsgroep Contributors of bijbehorende machtigingen in het project.
De GitHub-webinterface biedt geen ondersteuning voor cherry-picking, maar GitHub Desktop wel. Zie Cherry-picking van een commit voor stapsgewijze instructies over hoe je kunt cherry-picken in GitHub Desktop.
Visual Studio 2022 biedt een Git-versiebeheer met behulp van het Git-menu, Git-wijzigingen en via contextmenu's in Solution Explorer. Visual Studio 2019 versie 16.8 biedt ook de Git-gebruikersinterface van Team Explorer . Zie het tabblad Visual Studio 2019 - Team Explorer voor meer informatie.
Kies Git > Manage Branches om het venster Git-opslagplaats te openen.
Klik in het venster Git-opslagplaats met de rechtermuisknop op de doelvertakking en kies Uitchecken.
Klik in de weergave Branches met de rechtermuisknop op de bronvertakking en kies Geschiedenis weergeven om een tabblad Doorvoeringsgeschiedenis te openen.
Klik op het tabblad Geschiedenis met de rechtermuisknop op de commit die u wilt cherry-picken en kies Cherry-Pick. Visual Studio biedt geen ondersteuning voor het kiezen van meerdere doorvoerbewerkingen tegelijk, dus u moet deze stap herhalen voor elke doorvoering die u wilt kiezen.
Visual Studio maakt een nieuwe commit in de doelvertakking die de wijzigingen van de cherry-pick commit bevat. Als de cherry-pick bewerking niet succesvol is voltooid, ontvangt u een melding van Visual Studio.
Visual Studio 2019 biedt een Git-versiebeheer met behulp van het Git-menu , Git-wijzigingen en via contextmenu's in Solution Explorer.
Kies Git > Manage Branches om het venster Git-opslagplaats te openen.
Klik in het venster Git-opslagplaats met de rechtermuisknop op de doelvertakking en kies Uitchecken.
Klik in de weergave Branches met de rechtermuisknop op de bronvertakking en kies Geschiedenis weergeven om een tabblad Doorvoeringsgeschiedenis te openen.
Klik met de rechtermuisknop op de commit in het tabblad Geschiedenis die u wilt cherry-picken en kies Cherry-Pick. Visual Studio biedt geen ondersteuning voor het kiezen van meerdere doorvoerbewerkingen tegelijk, dus u moet deze stap herhalen voor elke doorvoering die u wilt kiezen.
Visual Studio maakt een nieuwe commit aan voor een doelbranch die de wijzigingen van de cherry-picked commit bevat. Als de kersenkiesbewerking niet is voltooid, ontvangt u een melding van Visual Studio.
Visual Studio 2019 versie 16.8 en nieuwere versies biedt een Git-versiebeheerervaring met behoud van de Git-gebruikersinterface van Team Explorer . Als u Team Explorer wilt gebruiken, schakelt u Extra>Opties>Preview-functies>Nieuwe Git-gebruikerservaring uit in de menubalk. U kunt Git-functies van beide interfaces door elkaar gebruiken.
Selecteer in Team Explorer de Home-knop en kies Vertakkingen.
Klik in de weergave Vertakkingen met de rechtermuisknop op de doelvertakking en kies Uitchecken.
Klik in de weergave Branches met de rechtermuisknop op de bronvertakking en kies Geschiedenis weergeven om een tabblad Doorvoeringsgeschiedenis te openen.
Klik met de rechtermuisknop op de commit die je wilt cherry-picken op het tabblad Geschiedenis en kies Cherry-Pick. Visual Studio biedt geen ondersteuning voor het kiezen van meerdere doorvoerbewerkingen tegelijk, dus u moet deze stap herhalen voor elke doorvoering die u wilt kiezen.
Visual Studio maakt een nieuwe doorvoer voor een doelvertakking die de wijzigingen van de door de kersen gekozen doorvoer bevat. Als de kersenkiesbewerking niet is voltooid, ontvangt u een melding van Visual Studio.
Gebruik de git log opdracht om commits in de bronbranch weer te geven. De --oneline vlag vat de commit-informatie samen.
git log --oneline <source branch>
Git vermeldt eerst de meest recente doorvoeringen. Elke doorvoer-id is een gedeeltelijke SHA-1-hash die de doorvoer uniek identificeert. Voorbeeld:
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.
Noteer de ID van de commit die u wilt cherry-picken.
Schakel over naar de doelbranch, als deze nog niet is uitgecheckt.
Wanneer u meerdere commits cherry-pickt, maakt de standaardopdracht cherry-pick een bijbehorende reeks nieuwe commits aan voor de doeltak. Gebruik de -n vlag om Git te laten faseren en de wijzigingen in de doelbranch niet door te voeren:
git cherry-pick -n <commit1 ID> <commit2 ID>
Vervolgens kunt u handmatig één commit maken die alle wijzigingen van de cherry-pick operatie bevat.
Git zal u op de hoogte stellen als er samenvoegingsconflicten optreden tijdens de cherry-pick-opdracht. U kunt de conflicten oplossen en daarna git cherry-pick --continue uitvoeren, of git cherry-pick --abort uitvoeren om de cherry-pick ongedaan te maken.