Dokončete, zrušte nebo vrátíte žádosti o přijetí změn
Článek
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Jakmile všichni požadovaní recenzenti schválí váš pull request (PR) a PR splní všechny požadavky zásad větve, můžete změny sloučit do cílové větve a dokončit PR. Nebo pokud se rozhodnete nepokračovat ve změnách v PR, můžete PR opustit.
Chcete-li řešit změny od revidujících, reagovat na komentáře a vyřešit je, přečtěte si Řešení komentářů.
- Zobrazit kód v soukromých projektech: Alespoň Základní přístup. - Klonování nebo přispívání do kódu v soukromých projektech: Člen skupiny zabezpečení přispěvatelů nebo s odpovídajícími oprávněními v projektu. – Nastavte oprávnění pro větev nebo úložiště: Správa oprávnění oprávnění pro větev nebo úložiště. – Změnit výchozí větev: Upravit zásady oprávnění pro úložiště. – Import úložiště: Člen skupiny zabezpečení Projektoví administrátoři nebo oprávnění Vytvořit úložiště na úrovni projektu Git nastavená na Povolit. Další informace najdete v tématu Nastavení oprávnění úložiště Git.
Ve veřejných projektech mají uživatelé s přístupem na úrovni Stakeholder plný přístup k Azure Repos, které zahrnují zobrazení, klonování a přispívání ke kódu.
- Zobrazit kód: Alespoň základní přístup. - Klonování nebo přispívání do kódu: Člen skupiny zabezpečení Přispěvatelé nebo odpovídající oprávnění v rámci projektu.
V Azure DevOps Services můžete z rozhraní příkazového řádku Azure (CLI) s rozšířením spravovat PR a další prostředky. Informace o tom, jak pracovat s rozhraním příkazového řádku Azure DevOps Services, najdete v tématu Začínáme s Azure DevOps CLI. Příkazy CLI pro žádosti o přijetí změn v Azure Repos používají az repos pr.
Zkontrolovat změny po sloučení
Po dokončení žádosti o přijetí změn Git přidá na konec hlavní větve nové potvrzení sloučení. Tento slučovací potvrzení propojuje dřívější historii hlavní větve a zdrojové větve pull requestu. Pokud chcete zobrazit náhled potvrzení sloučení a zkontrolovat konflikty při sloučení, vyberte nabídku Další možnosti v pravém horním rohu na stránce Přehled PR, a pak vyberte Zobrazit změny sloučení.
Pokud jste po vytvoření žádosti o přijetí změn změnili cílovou větev, výběrem Restartovat sloučení vytvořte nové náhledové potvrzení sloučení a aktualizujte zobrazení rozdílu sloučení.
Přezkoumání zásad větví
Týmy můžou nastavit zásady větví, které vyžadují, aby PR v chráněných větvích splňovaly konkrétní kritéria před jejich sloučením. Uvidíte zásady pro větve použité na váš PR, zda jsou vyžadovány ke sloučení, a zda PR uspěje nebo selže.
Karta Přehledu PR shrnuje zásady větví, které prochází nebo selhávají pro daný PR. Přehled obsahuje pouze nezdařené zásady, ale všechny kontroly zásad můžete zobrazit výběrem možnosti Zobrazit <n> kontrol.
Na stránce Přehled PR se u požadavků na zásady větví zobrazuje ikona. Vyberte Další možnosti vedle požadavku a potom vyberte Zobrazit zásadu a přejděte na stránku politik větve v Nastavení projektu.
Žádost o přijetí změn (pull request) můžete otevřít v aplikaci Visual Studio a pak zkontrolovat zásady větví, jak je popsáno na záložce Prohlížeč.
Pokud chcete otevřít žádost o přijetí změn ze sady Visual Studio, v nabídce Git vyberte< svou službu>>Git View Pull Requests a výběrem žádosti o přijetí změn ji otevřete.
Visual Studio 2019 verze 16.8 a novější verze poskytují prostředí pro správu verzí Gitu při zachování uživatelského rozhraní Git Team Exploreru. Pokud chcete použít Team Explorer, zrušte zaškrtnutí v menu Nástroje>Možnosti>Náhled funkcí> u položky Nové uživatelské prostředí Gitu na řádku nabídek. Funkce Gitu můžete provádět zaměnitelně z libovolného rozhraní.
Přístup k pull requestům ve Visual Studio Team Exploreru:
Výběrem možnosti Zobrazit>Team Explorer otevřete Team Explorer. Můžete také stisknout ctrl+\, Ctrl+M.
Na stránce Domov vyberte Žádosti o změny, abyste zobrazili seznamy žádostí o změny, které jste otevřeli nebo které vám byly přiřazeny.
Pokud chcete na webovém portálu otevřít PR a zobrazit zásady, klikněte na PR pravým tlačítkem myši a vyberte Otevřít v prohlížeči.
Pokud chcete zobrazit všechny zásady větve platné pro pull request, použijte az repos pr policy list s požadovaným id parametrem.
az repos pr policy list --id
[--detect {false, true}]
[--org]
[--query-examples]
[--skip]
[--subscription]
[--top]
Parametry
Parametr
Popis
--id
ID požadavku na začlenění.
Povinný:
--detect
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true.
--org --organization
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/.
--query-examples
Doporučený řetězec JMESPath Můžete zkopírovat jeden z dotazů a vložit ho za parametr --query mezi dvojité uvozovky, aby se zobrazily výsledky. Můžete přidat jedno nebo více pozičních klíčových slov, takže návrhy jsou založené na těchto klíčových slovech.
--skip
Počet zásad, které se mají přeskočit
--subscription
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí .az account set -s <NAME_OR_ID>
--top
Maximální počet politik k zobrazení.
Příklad
Pokud chcete například zobrazit zásady, které platí pro pr č. 28, spusťte následující příkaz:
az repos pr policy list --id 28 --output table
Evaluation ID Policy Blocking Status Expired Build ID
------------------------------------ --------------------------------------------- ---------- -------- --------- ----------
84e7ca6d-0b42-4819-9f62-f41df5e319f3 Minimum number of reviewers (1) True Approved
1ba061d8-9e9f-401b-ab61-e2ed1c200aba Required reviewers (1) True
37620a4b-adc4-483d-9ca2-3f4e6ffe2990 Comment requirements False Approved
34b7cae8-812a-4c14-9229-f71a0e662e8b Required reviewers (1) ([Fabrikam Fiber]\Web) False
a6e4380e-9f38-4aa5-863c-0fc496027362 Work item linking False Rejected
Příkazy Azure DevOps CLI nejsou podporovány pro Azure DevOps Server.
Dokončení pull requestu
Jakmile vyřešíte všechny konflikty při slučování a PR splňuje všechna pravidla větví a má všechna požadovaná schválení, můžete PR dokončit.
Výběrem možnosti Dokončit v pravém horním rohu dokončete PR. Nebo klikněte na šipku rozbalovacího seznamu vedle tlačítka Dokončit a vyberte jednu z možností.
Dokončete PR: Dokončete PR nyní a sloučte změny do cílové větve.
Nastavit automatické dokončování: Nakonfigurujte PR tak, aby se dokončil a sloučil, jakmile splňuje všechny požadované zásady větve.
Označit jako koncept: Vraťte žádost o přijetí změn do stavu konceptu a odeberte všechny hlasy.
Opustit: Uzavřít pull request bez sloučení změn.
V podokně Dokončit požadavek na začlenění, v části Typ sloučení, vyberte jednu z možností sloučení.
Sloučení (bez rychlého posunu): Sloučit s nelineární historií, která zachovává všechny commity.
Squash commit: Sloučení s lineární historií, která kombinuje všechny zdrojové commity do jednoho commitu v cíli, nebo squash sloučí PR. Mějte na paměti, že pro cílovou větev se vytvoří nové potvrzení bez zachování historie potvrzení ze zdrojové větve.
Rebase a fast-forward: Přesuňte (rebase) zdrojové commity na cílovou větev a proveďte fast-forward.
Pololineární sloučení: Rebáze zdrojových commitů na cíl a vytvoření dvou-rodičovského sloučení.
Poznámka
Vynucují se existující zásady. Pokud má například vaše větev aktuálně zásadu „pouze squash merge“, musíte tuto zásadu změnit, pokud chcete použít jiný typ sloučení.
Vyberte některou z následujících možností po dokončení. Některé možnosti nejsou k dispozici pro některé typy sloučení.
Dokončení přidružených pracovních položek po sloučení: Dokončete všechny propojené pracovní položky.
Odstranit <větev> po sloučení: Po sloučení odstranit zdrojovou větev PR.
Přizpůsobit zprávu sloučení: Zadejte vlastní zprávu k zápisu sloučení. Pokud vyberete tuto možnost, aktualizujte zprávu potvrzení sloučení.
Ponechte zásady větve stranou a povolte slučování. Přinuťte sloučení, i když PR nenaplňuje všechny zásady větve. Tato možnost je dostupná jenom v případě, že máte oprávnění Výjimka z vynucování zásad.
Vyberte Dokončit sloučení.
Výběrem možnosti Dokončit v pravém horním rohu dokončete PR. Nebo vyberte šipku rozevíracího seznamu vedle tlačítka Dokončit a vyberte jednu z následujících možností:
Dokončeno: Dokončete žádost o přijetí změn a sloučíte změny do cílové větve.
Nastavit automatické dokončování: Pokud máte zásady větve, nakonfigurujte pull request tak, aby se dokončil a sloučil, jakmile budou splněny všechny požadované zásady větve.
Opustit: Uzavřít pull request bez sloučení změn.
Na obrazovce Dokončit žádost o přijetí změn zadejte zprávu pro potvrzení sloučení a aktualizujte popis žádosti o přijetí změn.
Vyberte některou z následujících možností:
Dokončete propojené pracovní položky po sloučení pro dokončení jakýchkoli propojených pracovních položek.
Odstranit <branch name> po sloučení a tím odstranit zdrojovou větev z žádosti o přijetí změn.
Squash se změní při slučování s sloučením žádosti o přijetí změn. Mějte na paměti, že pro cílovou větev se vytvoří nové potvrzení bez zachování historie potvrzení ze zdrojové větve.
Vynucujte zásady větve a povolte sloučení, aby se větev sloučila, pokud nevyhovuje všem zásadám větve. Tato možnost je dostupná pouze pokud máte oprávnění vyloučení z vynucování zásad.
Poznámka
Stávající zásady se stále vynucují. Pokud má například vaše větev momentálně zavedenou zásadu "squash merge only", musíte tuto zásadu upravit, abyste mohli použít jiné typy sloučení.
Vyberte Dokončit sloučení.
Po dokončení sloučení se všechny propojené pracovní položky automaticky aktualizují k zobrazení dokončení PR.
Pokud chcete žádost o přijetí změn dokončit, otevřete žádost o přijetí změn v prohlížeči a na stránce Přehled vyberte Dokončit nebo nastavte další možnosti.
Pokud chcete otevřít žádost o přijetí změn ze sady Visual Studio, v nabídce Git vyberte< svou službu>>Git View Pull Requests a výběrem žádosti o přijetí změn ji otevřete.
Pro přístup k pull requestům z Visual Studio 2019 Team Explorer:
Výběrem možnosti Zobrazit>Team Explorer otevřete Team Explorer. Můžete také stisknout ctrl+\, Ctrl+M.
Na stránce Domov vyberte Žádosti o změny, abyste zobrazili seznamy žádostí o změny, které jste otevřeli nebo které vám byly přiřazeny.
Pokud chcete otevřít žádost o přijetí změn na webovém portálu, klikněte pravým tlačítkem na žádost o přijetí změn a vyberte Otevřít v prohlížeči.
K dokončení žádosti o přijetí změn a sloučení změn použijte příkaz az repos pr update a aktualizujte žádost o --status přijetí změn na completed.
Například k dokončení žádosti o přijetí změn č. 21 použijte:
az repos pr update --id 21 --status completed
Nastavení možností dokončení
Možnosti dokončení žádosti o přijetí změn můžete nastavit při vytváření žádosti o přijetí změn s az repos pr create, nebo aktualizovat možnosti v existujících žádostech o přijetí změn s az repos pr update.
Mezi možnosti dokončení Pull Requestu patří:
bypass-policy {false, true}: Jestli chcete obejít požadované zásady a dokončit pull request, jakmile bude možné jej sloučit.
Nastavte pull request tak, aby se dokončil automaticky, když všechny zásady byly splněny a zdrojová větev se dá sloučit do cílové větve. Přijaté hodnoty: false, true.
--bypass-policy
Vynechte všechny požadované zásady a dokončete pull request, jakmile je možné jej sloučit. Přijaté hodnoty: false, true.
--bypass-policy-reason
Důvod obejití požadovaných zásad
--delete-source-branch
Odstraňte zdrojovou větev po dokončení a sloučení pull requestu do cílové větve. Přijaté hodnoty: false, true.
--description -d
Nový popis pull requestu Může obsahovat Markdown. Každá hodnota je nový řádek. Například: --description "First Line" "Second Line".
--detect
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true.
--draft
Převeďte PR do režimu návrhu nebo jej publikujte. Přijaté hodnoty: false, true.
--merge-commit-message
Zpráva, která se zobrazí při sloučení commitů.
--org --organization
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/.
--squash
Při slučování do cílové větve sloučte potvrzení ve zdrojové větvi. Přijaté hodnoty: false, true.
--status
Nastavte nový stav pull requestu. Přijaté hodnoty: abandoned, active, completed.
--subscription
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí .az account set -s <NAME_OR_ID>
--title
Nový název pull requestu
--transition-work-items
Převést všechny pracovní položky propojené s žádostí o přijetí změn do dalšího logického stavu, například Vyřešeno. Přijaté hodnoty: false, true.
Příklad
Následující příklad dokončí PR #21, odstraní jeho zdrojovou větev, vyřeší propojené pracovní položky a přidá zprávu potvrzení sloučení:
az repos pr update --id 21 --status completed --delete-source-branch true --transition-work-items true --merge-commit-message "This update is complete."
Příkazy Azure DevOps CLI nejsou podporovány pro Azure DevOps Server.
Rebase během dokončování pull requestu
V několika situacích není možné provést přepisování historie během dokončování pull requestu.
Pokud zásada v cílové větvi zakazuje použití rebase strategií, potřebujete oprávnění přepisovat zásady větve pro provedení rebase.
Pokud zdrojová větev pull requestu obsahuje zásady, nelze ji rebázovat. Rebasing by změnilo zdrojovou větev bez projití procesem schvalování zásad.
Pokud jste k řešení konfliktů při slučování použili rozšíření Merge Conflict, nemůžete rebasovat. Řešení konfliktů použitá u trojcestné sloučení jsou zřídka úspěšná nebo platná při opakovaném použití všech potvrzení žádosti o přijetí změn jednotlivě.
Ve všech těchto případech můžete svou větev znovu provést rebase lokálně a pak poslat upstream, nebo změny můžete squash sloučit, když dokončíte pull request (PR).
Problém s více spojovacími základnami
V některých případech má PR více než jednu správnou základnu pro sloučení, a tato situace může způsobit bezpečnostní problémy. Pokud mají soubory v žádosti o přijetí změn v různých základech sloučení různé verze, zobrazí se upozornění na více základů sloučení. Další informace a opravná opatření naleznete v tématu Více základů slučování.
Vyřešení konfliktů při slučování
Změny souboru ve vaší větvi můžou být v konfliktu se změnami v jiné větvi. Pokud není jasné, jak sjednotit změny, Git zobrazí soubory, které jsou v konfliktu, na stránce Přehled pull requestu. Než budete moci sloučit pull request nebo nastavit jeho automatické dokončení, musíte vyřešit všechny konflikty slučování mezi větví pull requestu a cílovou větví. Pokyny k řešení konfliktů při sloučení najdete v tématu Řešení konfliktů při slučování.
V rozevíracím seznamu Kompletace vyberte Nastavit automatické dokončování, abyste dokončili a sloučili změny žádosti o začlenění, jakmile podmínky splní všechny zásady větve. Po dokončení PR obdržíte e-mailové oznámení. Pokud konflikt nebo chyba brání dokončení PR, dostanete e-mail s oznámením o problému.
Poznámka
Možnost Nastavit automatické dokončování je dostupná v Azure Repos a TFS 2017 a novějších, pokud máte zásady větví. Pokud nevidíte možnost Nastavit automatické dokončování, nemáte žádné zásady větve. Další informace naleznete v tématu Zásady větví.
Ve výchozím nastavení žádost o přijetí změn (pull request) nastavená na automatické dokončení čeká pouze na povinné politiky. Na panelu Povolit automatické dokončování můžete také počkat na volitelné zásady.
Od TFS 2018 Update 2 se na stránce Přehled PR žádosti o přijetí změn zobrazí seznam nevyřízených kritérií zásad, na která PR čeká. Pokud jste na panelu Povolit automatické dokončování nastavili požadovanou zásadu, můžete ji nastavit zpět na volitelnou na stránce Přehled .
Pokud chcete automatické dokončování vypnout, vyberte Zrušit automatické dokončování .
Žádost o přijetí změn nastavená na automatické dokončování zobrazuje na stránce Žádosti o přijetí změn odznak „Automatické dokončování“.
Otevřete pull request na webovém portálu.
Na stránce Přehled vyberte Nastavit automatické dokončování.
Pokud chcete otevřít žádost o přijetí změn ze sady Visual Studio, v nabídce Git vyberte svou <Git službu>, klikněte na Zobrazit žádosti o přijetí změn a otevřete žádost o přijetí změn výběrem příslušné žádosti.
Pro přístup k pull requestům z Visual Studio 2019 Team Explorer:
Výběrem možnosti Zobrazit>Team Explorer otevřete Team Explorer. Můžete také stisknout ctrl+\, Ctrl+M.
Na stránce Domov vyberte Žádosti o změny, abyste zobrazili seznamy žádostí o změny, které jste otevřeli nebo které vám byly přiřazeny.
Pokud chcete na webovém portálu otevřít pull request a zobrazit aktuální zásady, klikněte pravým tlačítkem myši na pull request a vyberte Otevřít v prohlížeči.
Nastavte automatické dokončení tak, aby se PR dokončil automaticky po splnění všech požadovaných schválení a zásad větví. Automatické dokončování můžete nastavit při vytváření PR nebo aktualizovat existující PR.
Chcete-li nastavit automatické dokončování při vytváření PR, použijte az repos pr create --auto-complete true.
Chcete-li aktualizovat existující pull request pro automatické dokončování, použijte az repos pr update --id <PR Id> --auto-complete true.
Příkazy Azure DevOps CLI nejsou podporovány pro Azure DevOps Server.
Pokud chcete opustit změny a svůj PR bez sloučení, vyberte z rozevíracího seznamu na tlačítku Dokončit možnost Opustit. Stále můžete zobrazit opuštěnou žádost o přijetí změn, která zůstává propojená s pracovními položkami.
Pokud chcete PR kdykoli znovu aktivovat, otevřete ho z karty Opuštěná v zobrazení Žádosti o přijetí změn a vyberte možnost Znovu aktivovat v pravém horním rohu.
Otevřete pull request na webovém portálu. Na stránce Přehled vyberte Opustit.
Pokud chcete žádost o přijetí změn opustit bez sloučení změn, použijte az repos pr update --id <PR Id> –-status abandoned. Žádost o přijetí změn (PR) můžete znovu aktivovat nastavením stavu na active.
Příkazy Azure DevOps CLI nejsou podporovány pro Azure DevOps Server.
Vrátit změny z dokončeného pull requestu
Chcete-li zrušit změny z požadavku na přijetí (PR), postupujte takto. Další informace naleznete v tématu Vrácení změn.
Otevřete dokončený PR a vyberte Zpět. Tato akce vytvoří novou větev se změnami, které odvrátí PR v existující cílové větvi ve vašem úložišti.
V podokně Vrátit zpět žádost o přijetí změn:
V části Cílová větev vyberte větev, ve které chcete změny žádosti o přijetí vrátit.
V části vyžadován název tématické větve můžete změnit název větve PR pro vrácení, pokud chcete.
Vyberte Vrátit zpět.
Na obrazovce Nový pull request vyberte Vytvořit.
Sloučením nové PR dokončete revertování.
Poznámka
Větev vytvořená během tohoto vrácení změn obsahuje jediný commit, který vrátí všechny změny souboru z původního PR. Větev neobsahuje revert pro každý z commitů v původním PR.