Forks

Azure DevOps Services | Azure DevOps Server 2022–Azure DevOps Server 2019 | TFS 2018

Visual Studio 2019 | Visual Studio 2022

Forky úložiště Git jsou užitečné, když lidé chtějí provádět experimentální, rizikové nebo důvěrné změny základu kódu, ale tyto změny je potřeba izolovat od základu kódu v původním úložišti. Nový fork je v podstatě klon původního úložiště vložený do nového vzdáleného úložiště. Fork je nezávislý na původním úložišti a je úplnou kopií, pokud nezadáte jednu větev.

Jako nezávislá kopie se změny provedené ve forku, například přidání potvrzení nebo větví, nesdílejí s původním úložištěm. Pokud chcete sloučit změny základu kódu do původního úložiště, musíte vytvořit žádost o přijetí změn , která bude požadovat kontrolu a schválení těchto změn.

Proces forku nepřenese žádná oprávnění, zásady ani kanály sestavení z původního úložiště do forku.

Tento článek se zabývá prací s forky v úložištích Azure Repos Git a obsahuje odkazy na obsah GitHubu, který popisuje, jak spravovat forky v úložištích GitHub.

V tomto článku získáte informace o těchto tématech:

  • Sdílení kódu mezi forky
  • Volba mezi větvemi a forky
  • Povolení forků úložiště
  • Vytvoření forku
  • Místní klonování forku
  • Vložení místních změn do forku
  • Vytvoření a dokončení žádosti o přijetí změn
  • Synchronizace forku

Požadavky pro přístup k Azure Repos

  • Úložiště musí být povolená v nastavení projektu Azure DevOps. Pokud se centrum Repos a přidružené stránky nezobrazují, přečtěte si téma Zapnutí nebo vypnutí služby Azure DevOps pro opětovné povolení úložišť.

  • Pokud chcete zobrazit kód v privátních projektech, musíte být členem projektu Azure DevOps s úrovní přístupu Basic nebo vyšší. U veřejných projektů může kód zobrazit každý.

  • Pokud chcete klonovat nebo přispívat do kódu pro soukromý projekt, musíte být členem skupiny zabezpečení Přispěvatelé nebo mít nastavená odpovídající oprávnění. U veřejných projektů může kód klonovat a přispívat k tomu kdokoli. Další informace najdete v tématu Co je veřejný projekt?

    Poznámka

    U veřejných projektů mají uživatelé s uděleným přístupem účastníka úplný přístup k Azure Repos.

  • Úložiště musí být povolená v nastavení projektu Azure DevOps. Pokud se centrum Repos a přidružené stránky nezobrazují, přečtěte si téma Zapnutí nebo vypnutí služby Azure DevOps pro opětovné povolení úložišť.

  • Pokud chcete zobrazit kód, musíte být členem projektu Azure DevOps s přístupem Basic nebo vyšším. Pokud nejste členem projektu, přidejte se.

  • Pokud chcete klonovat kód nebo přispívat do kódu, musíte být členem skupiny zabezpečení Přispěvatelé nebo mít odpovídající oprávnění v projektu, který chcete změnit.

  • Pokud chcete zobrazit kód, musíte být členem projektu Azure DevOps s přístupem Basic nebo vyšším. Pokud nejste členem projektu, přidejte se.

  • Pokud chcete klonovat kód nebo přispívat do kódu, musíte být členem skupiny zabezpečení Přispěvatelé nebo mít odpovídající oprávnění.

Sdílení kódu mezi forky

Původní úložiště se často označuje jako upstreamové úložiště. Žádosti o přijetí změn můžete vytvořit tak, aby se změny sloučily v libovolném směru: od forku k upstreamu nebo upstreamu do forku. Nejběžnější směr je od forku k upstreamu. Na žádost o přijetí změn se budou vztahovat oprávnění, zásady, sestavení a pracovní položky cílového úložiště.

Volba mezi větvemi a forky

Pro malý tým 2 až 5 vývojářů nemusí být pracovní postup forku nutný, protože všichni můžou pracovat ve větvích funkcí a zásady větví můžou chránit výchozí větev. Pokud ale váš tým toto uspořádání rozšíří a rozšíří, může přepnout na pracovní postup forku.

Pokud má vaše úložiště velký počet příležitostných nebo občasných potvrzení, jako je open source projekt, doporučujeme pracovní postup forku. Práva k potvrzení k původnímu úložišti by obvykle měli mít jenom základní přispěvatelé projektu. Ostatní spolupracovníci by měli použít pracovní postup forku k izolaci navrhovaných změn, dokud nebudou mít základní přispěvatelé možnost zkontrolovat jejich práci.

Povolení forků úložiště

Pokud chcete povolit forky pro úložiště Azure Repos Git, přečtěte si téma povolení forků.

Pokud chcete povolit forky pro úložiště GitHub, přečtěte si téma Správa zásad forku pro vaši organizaci.

Pracovní postup forku

Pracovní postup forku se skládá z pěti kroků popsaných v následujících částech.

  1. Vytvoření forku
  2. Místní klonování forku
  3. Vložení místních změn do forku
  4. Vytvoření a dokončení žádosti o přijetí změn
  5. Synchronizace forku

Vytvoření forku

Následující postup popisuje, jak vytvořit fork úložiště Azure Repos Git.

Poznámka

Pokud chcete vytvořit fork úložiště v projektu Azure DevOps, musíte mít pro tento projekt oprávnění k vytvoření úložiště . Vlastníci úložiště by měli zvážit vytvoření vyhrazeného projektu for fork a přiřazení oprávnění k vytvoření úložiště všem přispěvatelům. Další informace o nastavení oprávnění najdete v tématu Nastavení oprávnění úložiště Git.

  1. Ve webovém prohlížeči přejděte do Azure Repos úložiště Git, které chcete vytvořit fork. Vyberte Soubory úložiště > a pak v nabídce se třemi tečky zvolte Fork. Otevře se dialogové okno Fork.

    Snímek obrazovky s položkou nabídky Fork v nabídce Další akce na stránce Soubory úložiště v Azure Repos

  2. V dialogovém okně Fork pojmenujte rozvětvované úložiště, zvolte projekt, ve kterém chcete fork vytvořit, vyberte větve, které chcete do forku zahrnout, a pak zvolte Fork. Můžete určit, jestli bude fork obsahovat všechny větve, nebo jenom výchozí větev. Pokud úložiště obsahuje několik větví témat, zvažte zahrnutí pouze výchozí větve do forku.

    Snímek obrazovky s dialogovým oknem Fork na stránce Soubory úložiště v Azure Repos

Informace o tom, jak vytvořit fork úložiště GitHub, najdete v tématu Vytvoření forku úložiště.

Místní klonování forku

Po vytvoření forku úložiště naklonujte svůj fork a vytvořte místní kopii ve složce v počítači. Klonovat můžete z příkazového řádku nebo pomocí integrovaného vývojového prostředí, jako je Visual Studio. Další informace o klonování úložiště najdete v tématu Klonování existujícího úložiště Git.

Při klonování vzdáleného úložiště Git přiřadí alias origin jako zkratku pro adresu URL vzdáleného úložiště, které jste naklonovali. Pro usnadnění si přidejte další alias upstream pro úložiště, ze kterého jste forkovali, který se označuje jako upstreamové úložiště. Následující postup popisuje, jak přidat upstream alias.

Tip

Pro usnadnění přístupu můžete v příkazech Gitu místo odpovídajících adres URL použít origin aliasy a upstream .

Chcete-li přidat upstream alias v sadě Visual Studio, postupujte takto:

  1. V řádku nabídek zvolte Nástroje > Možnosti a otevřete okno Možnosti . Vyberte Source Control > Git Repository Settings Remotes (Vzdálená úložiště Git) >a pak zvolte Add (Přidat). Otevře se dialogové okno Přidat vzdálený.

    Snímek obrazovky s tlačítkem Přidat v podokně Vzdálené objekty v podnabídce Nastavení úložiště Git nabídky Správa zdrojového kódu v sadě Visual Studio 2019

  2. V dialogovém okně Přidat vzdálené úložiště přidejte nové vzdálené úložiště s názvem upstream a zadejte adresu URL git clone úložiště, které jste roz forkovali. Pak zvolte Uložit.

    Snímek obrazovky s dialogovým oknem Přidat vzdálený v sadě Visual Studio 2019

Vložení místních změn do forku

Při vytváření forku vytvoříte osobní a nezávislou kopii vzdáleného úložiště. Takže vám nic nebrání v tom, abyste pracovali přímo ve main větvi místního klonu a pak tuto práci nasdílili do main větve vašeho forku. Obecně je ale lepší používat větve funkcí pro vaši práci. Pomocí větví funkcí:

  • Současně můžete udržovat více nezávislých pracovních proudů.

  • Usnadníte ostatním pochopení práce, kterou sdílíte, protože tato práce je uspořádaná do různých pracovních proudů podle větve.

Typický pracovní postup Gitu zahrnuje tyto kroky:

  1. Vytvořte místní funkci nebo větev opravy chyb.

  2. Proveďte změny v nové větvi a potvrďte svou práci. Lidé obvykle při práci na funkci nebo opravě chyby udělují více potvrzení.

  3. Nasdílejte funkci nebo větev opravy chyb do forku. Váš fork má alias origin.

Informace o tom, jak odeslat změny, najdete v tématu Sdílení kódu pomocí nabízených oznámení.

Vytvoření a dokončení žádosti o přijetí změn

Pokud chcete v Azure Repos sloučit do původního úložiště změny, které jste nasdílili do forku, můžete:

  1. Vytvořte žádost o přijetí změn a požádejte o kontrolu a schválení změn. Když otevřete žádost o přijetí změn, nastavte zdrojovou větev žádosti o přijetí změn na funkci nebo větev opravy chyb ve vašem forku. Cílová větev žádosti o přijetí změn je obvykle main větev úložiště, které jste rozvětvovali. Toto úložiště se označuje jako upstreamové úložiště a má alias upstream.

    Následující snímek obrazovky ukazuje zdrojové úložiště a větev a cílové úložiště a větev žádosti o přijetí změn vytvořené v Azure Repos.

    Snímek obrazovky s možnostmi zdrojové a cílové větve žádosti o přijetí změn v Azure Repos

    Další informace o tom, jak vytvořit žádost o přijetí změn pomocí prohlížeče, sady Visual Studio nebo Azure DevOps CLI, najdete v tématu Vytvoření žádosti o přijetí změn.

    Důležité

    Každý, kdo má oprávnění číst v upstreamovém úložišti, mu může otevřít žádost o přijetí změn. Pokud má nadřazené úložiště kanál sestavení žádosti o přijetí změn, který je nakonfigurovaný tak, aby se spustil při vytváření žádosti o přijetí změn, sestavení se spustí se změnami, které vaše žádost o přijetí změn zavedla.

  2. Aby se vaše žádost o přijetí změn dokončila, musí změny žádosti schválit všichni potřební revidující a musí být splněny všechny zásady cílové větve. Po schválení a dokončení žádosti o přijetí změn se změny ve zdrojové větvi žádosti o přijetí změn sloučí do cílové větve žádosti o přijetí změn.

Informace o tom, jak vytvořit a dokončit žádost o přijetí změn GitHubu, najdete v tématech Vytvoření žádosti o přijetí změn a Sloučení žádosti o přijetí změn.

Synchronizace forku

Jakmile žádost o přijetí změn sloučí změny z vašeho forku do cílové větve upstreamového úložiště, můžete stáhnout z cílové větve upstreamového úložiště a aktualizovat příslušnou místní větev s použitím změn i změn provedených jinými přispěvateli. Pak jste připraveni:

  • Vytvořte novou funkci nebo větev opravy chyb z aktualizované místní větve.

  • Aktualizujte fork tak, že ho nasdílíte z aktualizované místní větve do origin.

Cílová větev upstreamového úložiště je mainobvykle . Pokud místní větev přímo neupravujete main (pracujete ve větvích funkcí), pak stažením z upstreamové větve upstream/main se místní main větev aktualizuje bez konfliktů při slučování.

Další kroky