Sdílet prostřednictvím


Provádějte operace Git ve složkách Databricks Git

Tento článek popisuje, jak provádět běžné operace Gitu v pracovním prostoru Databricks pomocí složek Git, včetně klonování, větvení, potvrzení a nasdílení změn.

Klonování úložiště připojeného ke vzdálenému úložišti Git

Složky Gitu můžete vytvářet pomocí uživatelského rozhraní Databricks nebo webového terminálu.

Poznámka:

Klonování z uživatelského rozhraní

  1. Na bočním panelu vyberte Pracovní prostor a pak přejděte do složky, do které chcete vytvořit klon úložiště Git.

  2. Klikněte na Vytvořit>složku Git.

    Přidejte uživatelské rozhraní úložiště.

  3. V dialogovém okně Vytvořit složku Git zadejte následující informace:

    Obor Description
    Adresa URL úložiště Git Adresa URL úložiště Git, které chcete klonovat, ve formátu https://example.com/organization/project.git
    Poskytovatel Gitu Zprostředkovatel Gitu pro úložiště, které chcete klonovat. Mezi možnosti patří GitHub, GitHub Enterprise, GitLab a Azure DevOps (Azure Repos).
    Název složky Git Název složky ve vašem pracovním prostoru, který bude obsahovat obsah klonovaného úložiště
    Řídká kontrola Určuje, zda použít řídké vyzvednutí, při kterém se klonuje pouze podmnožina adresářů vašeho úložiště, určená pomocí vzoru kužele. To je užitečné, pokud je vaše úložiště větší než limity podporované Databricks .
    Použití Git CLI (beta verze) Povolte spouštění standardních příkazů Gitu přímo z terminálu Databricks. To poskytuje přístup k pokročilým operacím, jako jsou háky předběžného potvrzení, dílčí režimy Gitu a velké úložiště souborů (LFS). Viz Použití příkazů Git CLI (Beta)
  4. Klikněte na Vytvořit složku Git. Obsah vzdáleného úložiště se naklonuje do úložiště Databricks a můžete s nimi začít pracovat pomocí podporovaných operací Gitu v pracovním prostoru.

Klonování z webového terminálu

Přímo z webového terminálu můžete také vytvářet Gitové složky s přístupem k rozhraní příkazového řádku.

  1. Přejděte k webovému terminálu. Vizte spuštění shellových příkazů ve webovém terminálu Azure Databricks.

  2. Přejděte do nadřazeného adresáře v /Workspace:

    cd /Workspace/Users/<your-email>/<project>
    

    Poznámka:

    Nemůžete vytvářet složky Gitu s přístupem k Git CLI v /Repos nebo v existujících složkách Gitu.

  3. Naklonujte úložiště:

    git clone <remote-url>
    

    Příkaz git clone používá přihlašovací údaje Gitu nakonfigurované ve vašem pracovním prostoru. Viz Konfigurovat přihlašovací údaje Git, & připojit vzdálené úložiště k Azure Databricks.

  4. Aktualizujte prohlížeč, aby se nová složka zobrazila v prohlížeči souborů pracovního prostoru.

Použití příkazů Git CLI (beta verze)

Důležité

Tato funkce je v beta verzi.

Složky Gitu s přístupem k Rozhraní příkazového řádku Git umožňují spouštět standardní příkazy Gitu přímo z terminálu Databricks. Můžete:

  • Spusťte libovolný příkaz Git, včetně git stash, git pull --force a git rebase -i.
  • Integrujte lintování a skenování kódu s předpotvrzovacími háky.
  • Pracujte s úložišti, která překračují limity 2 GB paměti a 4 GB disků standardních složek Git.
  • Použijte git submoduly a Git Large File Storage (LFS).
  • Před nasdílením změn do vzdáleného úložiště připravte několik potvrzení místně.

Pokud chcete používat přístup k Rozhraní příkazového řádku Git, musí mít váš pracovní prostor povolený bezserverový výpočetní výkon s prostředím verze 4 nebo vyšší.

Vytvoření složky Git s přístupem k Git CLI

Vytvoření složky Gitu s přístupem k rozhraní příkazového řádku:

  • Při použití webového terminálu má každé úložiště, které klonujete, automaticky přístup k Rozhraní příkazového řádku Git.
  • Při použití uživatelského rozhraní musíte povolit náhled Použít Git CLI při vytváření složky Git.

Po vytvoření složky Git s přístupem k rozhraní příkazového řádku spusťte z webového terminálu jakýkoli standardní příkaz Gitu:

cd /Workspace/Users/<your-email>/<project>/my-repo

# Interactive rebase
git rebase -i main

# Stash uncommitted changes
git stash

# Work with submodules
git submodule update --init --recursive

Omezení Git CLI

Složky Gitu s přístupem k rozhraní příkazového řádku mají následující omezení:

  • Pracovní prostory s seznamy povolených vzdálených adres URL nemůžou používat funkce Git CLI.
  • Příkazy Git CLI ignorují nastavení správce, které blokuje potvrzení výstupů notebooku.
  • Rozhraní API úložiště není podporované pro složky Gitu s přístupem k rozhraní příkazového řádku.
  • Pro existující složky Gitu nemůžete povolit přístup k rozhraní příkazového řádku Gitu.

Řešení potíží s operacemi Git CLI

  • Terminál zobrazí výzvu k zadání přihlašovacích údajů pro každou operaci: Funkce Rozhraní příkazového řádku Git není ve vašem pracovním prostoru povolená. Obraťte se na správce pracovního prostoru a ověřte, že je povolená verze Preview.
  • Nejde povolit přístup rozhraní příkazového řádku: Pracovní prostory se vzdálenými seznamy povolených adres URL nemůžou používat funkce Rozhraní příkazového řádku Gitu. Obraťte se na správce pracovního prostoru a zkontrolujte konfiguraci sítě pracovního prostoru.
  • Operace Gitu selžou s chybami oprávnění: Ověřte, že máte CAN MANAGE oprávnění k nadřazené složce a jestli jsou přihlašovací údaje Gitu v pracovním prostoru platné. Viz Konfigurovat přihlašovací údaje Git, & připojit vzdálené úložiště k Azure Databricks.

Osvědčený postup: Spolupráce ve složkách Gitu

Složky Git Databricks se chovají jako vložení klienti Gitu ve vašem pracovním prostoru a umožňují vám spolupracovat prostřednictvím správy zdrojového kódu a správy verzí založených na Gitu. Efektivní týmová spolupráce:

  • Každý člen týmu má svou vlastní složku Git namapovanou na vzdálené úložiště Git, kde pracuje ve své vlastní vývojové větvi.
  • Ke každé složce Gitu provádí operace Gitu jenom jeden uživatel. Několik uživatelů provádějících operace Gitu ve stejné složce může způsobit problémy se správou větví, jako je například neúmyslné přepínání větví pro všechny uživatele.

Sdílení konfigurace složky Git se spolupracovníkem:

  1. Kliknutím na Kopírovat odkaz vytvoříte složku Git v banneru v horní části pracovního prostoru Databricks.
  2. Pošlete adresu URL spolupracovníku.
  3. Když váš spolupracovník otevře adresu URL, zobrazí se předem vyplněné dialogové okno Vytvořit složku Git s vaší konfigurací složky Git.
  4. Kliknutím na Vytvořit složku Git naklonují úložiště do svého vlastního pracovního prostoru pod aktuální pracovní složkou.

Klikněte na tlačítko Kopírovat odkaz na složku Git a na banneru nasdílejte konfiguraci úložiště Git pro složku s jiným uživatelem ve vaší organizaci Databricks.

Kopírování složky Git od jiného uživatele:

  1. Ve sdíleném pracovním prostoru otevřete složku Git jiného uživatele.
  2. V horní části klikněte na Vytvořit složku Git . Otevře se dialogové okno Vytvořit složku Git s předem vyplněnou konfigurací úložiště Git.
  3. Kliknutím na Vytvořit složku Git naklonujete úložiště do svého vlastního pracovního prostoru.

Při prohlížení složky Git jiného uživatele klikněte na tlačítko Vytvořit složku Git v banneru a vytvořte kopii této složky ve vlastním pracovním prostoru.

Přístup k dialogovému okně Git

K dialogu Git se dostanete z poznámkového bloku nebo z prohlížeče složek Git Databricks.

  • V poznámkovém bloku klikněte na tlačítko vedle názvu poznámkového bloku, který identifikuje aktuální větev Gitu.

    Tlačítko dialogového okna Git v poznámkovém bloku

  • V prohlížeči složek Git Databricks klikněte na tlačítko napravo od názvu úložiště. Můžete také kliknout pravým tlačítkem na název úložiště a v nabídce vybrat Git....

    Tlačítko dialogu Git a menu Git v prohlížeči repozitářů.

Zobrazí se dialogové okno na celé obrazovce, kde můžete provádět operace Gitu.

Dialogové okno sloužící k provádění operací Gitu v pracovním prostoru Databricks.

  1. Vaše aktuální pracovní větev. Tady můžete vybrat další větve. Pokud mají k této složce Git přístup i jiní uživatelé, změna větve pro ně také změní větev, pokud sdílejí stejný pracovní prostor. Podívejte se na doporučený osvědčený postup , abyste se tomuto problému vyhnuli.
  2. Tlačítko pro vytvoření nové větve
  3. Seznam souborů a podsložek zapsaných do vaší aktuální větve.
  4. Tlačítko, které vás přenese na svého poskytovatele Gitu a zobrazí aktuální historii větví.
  5. Tlačítko pro načtení obsahu ze vzdáleného úložiště Git.
  6. Textové pole, do kterého přidáte zprávu potvrzení a volitelný rozšířený popis změn.
  7. Tlačítko pro potvrzení vaší práce do pracovní větve a nasdílení aktualizované větve do vzdáleného úložiště Git.

Klikněte na ikonu nabídky Kebab v pravém horním rohu, abyste si vybrali z dalších operací větve Git, jako je například pevné resetování, sloučení nebo změna základu.

Rozevírací nabídka v dialogovém okně složky Git pro operace větví

Toto je váš domov pro provádění operací Gitu ve složce Git pracovního prostoru. Jste omezeni na operace Gitu uvedené v uživatelském rozhraní.

Vytvořit novou větev.

Novou větev můžete vytvořit na základě existující větve z dialogového okna Git:

Nová větev dialogového okna Gitu

Přepnutí na jinou větev

Pomocí rozevíracího seznamu větve v dialogovém okně Git můžete přepnout na jinou větev (pokladnu):

Přepnutí dialogového okna Git na jinou větev

Nepotvrzené změny v aktuální větvi se přenesou a zobrazí se jako nepotvrzené změny v nové větvi, pokud nepotvrzené změny nejsou v konfliktu s kódem v nové větvi. Pokud nechcete přenášet nepotvrzené změny, zahoďte změny před nebo po změnách větve.

Místní verze větve může zůstat v přidružené složce Gitu až 30 dní po odstranění vzdálené větve. Pokud chcete úplně odebrat místní větev ve složce Git, odstraňte úložiště.

Důležité

Přepnutí větví může odstranit prostředky pracovního prostoru, pokud nová větev tyto prostředky neobsahuje. Přepnutím zpět na aktuální větev znovu vytvoříte odstraněné prostředky s novými ID a adresami URL. Tuto změnu nelze vrátit zpět.

Pokud jste sdíleli nebo si uložili záložku souborů ze složky Gitu, ujistěte se, že soubory existují v nové větvi, než přepnete.

Potvrzení a nasdílení změn do vzdáleného úložiště Git

Když přidáte nové poznámkové bloky nebo soubory nebo provedete změny stávajících poznámkových bloků nebo souborů, uživatelské rozhraní složky Git tyto změny zvýrazní.

Dialogové okno Git se zvýrazněnými změnami

Přidejte pro změny požadovanou zprávu potvrzení a kliknutím na Potvrdit a nasdílení změn odešlete do vzdáleného úložiště Git.

Pokud nemáte oprávnění k provádění změn ve výchozí větvi (například main větvi), vytvořte novou větev a pomocí rozhraní vašeho poskytovatele Git vytvořte žádost o přijetí změn (PR), kterou sloučíte s výchozí větví.

Poznámka:

Přijetí změn ze vzdáleného úložiště Git

Pokud chcete vyžádat změny ze vzdáleného úložiště Git, klikněte v dialogovém okně Operace Gitu na Vyžádat . Poznámkové bloky a další soubory se automaticky aktualizují na nejnovější verzi ve vzdáleném úložišti Git. Pokud změny načítané ze vzdáleného úložiště kolidují s místními změnami v Databricks, musíte vyřešit konflikty při slučování.

Důležité

Operace Gitu, které přetahují upstreamové změny, vymažou stav poznámkového bloku. Další informace najdete v tématu Příchozí změny, které vymažou stav poznámkového bloku.

Sloučení větví

K operaci sloučení Gitu se dostanete tak, že ji vyberete z ikony nabídky Kebab. Kebab v pravém horním rohu dialogového okna operací Gitu.

Funkce sloučení ve složkách Git Databricks sloučí jednu větev do druhé pomocí git merge. Slučovací operace je způsob, jak zkombinovat historii potvrzení z jedné větve do jiné větve; jediným rozdílem je strategie, pomocí které toho dosahuje. Pro začátečníky v Gitu doporučujeme použít sloučení (přes základ), protože nevyžaduje vynucení nasdílení změn do větve, a proto nepřepíše historii potvrzení.

  • Pokud dojde ke konfliktu při sloučení, vyřešte ho v uživatelském rozhraní složek Gitu.
  • Pokud nedojde ke konfliktu, sloučení se odešle do vzdáleného úložiště Git pomocí git push.

Rebase větev v jiné větvi

K operaci Git Rebase se dostanete tak, že ji vyberete z ikony nabídky Kebab. Nabídka kebab v pravém horním rohu dialogového okna operací Gitu.

Opětovné vytvoření změn změní historii potvrzení větve. git merge Podobně jako git rebasefunkce integruje změny z jedné větve do druhé. Změna základu provede následující:

  1. Uloží potvrzení v aktuální větvi do dočasné oblasti.
  2. Obnoví aktuální větev na zvolenou větev.
  3. Znovu zobrazí jednotlivá potvrzení, která byla dříve uložena v aktuální větvi, což vede k lineární historii, která kombinuje změny z obou větví.

Upozorňující

Použití rebase může způsobit problémy se správou verzí pro spolupracovníky pracující ve stejném úložišti.

Běžným pracovním postupem je změna základu větve funkcí v hlavní větvi.

Změna základu větve v jiné větvi:

  1. V uživatelském rozhraní složek Git v nabídce Branch vyberte branch, kterou chcete přebázovat.

  2. Z nabídky kebab vyberte Rebase .

    Funkce Git rebase v nabídce kebabu

  3. Vyberte větev, na kterou chcete provést rebase.

    Operace opětovného základu integruje změny z větve, kterou zde zvolíte, do aktuální větve.

Gitové složky Databricks spouštějí git commit a git push --force pro aktualizaci vzdáleného úložiště Git.

Řešení konfliktů při slučování

Ke konfliktům při slučování dochází, když se 2 nebo více uživatelů Gitu pokusí sloučit změny stejných řádků souboru do společné větve a Git nemůže zvolit správné změny, které se mají použít. Ke konfliktům při slučování může dojít také v případě, že se uživatel pokusí vyžádat nebo sloučit změny z jiné větve do větve s nepotvrzenými změnami.

Animovaný obrázek GIF, který zobrazuje běžný konflikt při slučování vyplývající z nepotvrzených změn během přijetí změn gitu

Pokud operace, jako je vyžádání, změna základu nebo sloučení, způsobí konflikt při slučování, uživatelské rozhraní složek Gitu zobrazí seznam souborů s konflikty a možnostmi řešení konfliktů.

Máte dvě primární možnosti:

  • K vyřešení konfliktu použijte uživatelské rozhraní složek Gitu.
  • Přerušte operaci Gitu, ručně zahoďte změny v konfliktní souboru a zkuste operaci Gitu zopakovat.

Animovaný obrázek GIF znázorňující konflikt při slučování v uživatelském rozhraní složek Gitu databricks

Při řešení konfliktů při slučování s uživatelským rozhraním složek Git musíte zvolit mezi ručním řešením konfliktů v editoru nebo zachováním všech příchozích nebo aktuálních změn.

Zachovat všechny aktuální nebo přijmout příchozí změny

Pokud víte, že jenom chcete zachovat všechny aktuální nebo příchozí změny, klikněte na ikonu napravo od názvu souboru v podokně poznámkového bloku a vyberte Zachovat všechny aktuální změny nebo Provést všechny příchozí změny. Kliknutím na tlačítko se stejným popiskem potvrďte změny a vyřešte konflikt.

Podokno uživatelského rozhraní poznámkového bloku Databricks zobrazující možnosti rozevíracího seznamu pro řešení konfliktů při sloučení

Návod

Nejste si jisti, jakou možnost vybrat? Barva každé možnosti odpovídá příslušným změnám kódu, které bude v souboru uchovávat.

Ruční řešení konfliktů

Ruční řešení konfliktů umožňuje určit, které konfliktní řádky by se měly při sloučení přijmout. V případě konfliktů při slučování konflikt vyřešíte tak, že přímo upravíte obsah souboru s konflikty.

Animovaný obrázek GIF zobrazující ruční řešení konfliktu při slučování

Pokud chcete konflikt vyřešit, vyberte řádky kódu, které chcete zachovat, a odstraňte všechno ostatní, včetně značek konfliktů při slučování Gitu. Až budete hotovi, vyberte Označit jako vyřešené.

Pokud se rozhodnete, že při řešení konfliktů při slučování uděláte nesprávné volby, kliknutím na tlačítko Přerušit proces přerušíte a vrátíte zpět všechno. Jakmile budou všechny konflikty vyřešeny, klikněte na možnost Pokračovat ve sloučení nebo Pokračovat v databázi a vyřešte konflikt a dokončete operaci.

Lotr reset

Ve složkách Git Databricks můžete git reset provést v uživatelském rozhraní Azure Databricks. Resetování Gitu ve složkách Databricks Git odpovídá kombinaci git reset --hard a git push --force.

Git reset nahradí obsah a historii větve nejnovějším stavem jiné větve. Tuto možnost můžete použít, když jsou úpravy v konfliktu s upstreamovou větví a nevadí vám, že je ztratíte při resetování na tuto větev. Přečtěte si další informace o Gitu reset –hard.

Resetování na upstreamovou (vzdálenou) větev

V git reset tomto scénáři:

  • Vybranou větev resetujete (například feature_a) na jinou větev (například main).
  • Také resetujete nadřazenou (vzdálenou) větev feature_a na hlavní.

Důležité

Při resetování ztratíte všechny nepotvrzené a potvrzené změny v místní i vzdálené verzi větve.

Resetování větve na vzdálenou větev:

  1. V uživatelském rozhraní složek Git v nabídce Branch zvolte větev, kterou chcete resetovat.

    Selektor větví v uživatelském rozhraní složek Gitu.

  2. V nabídce kebab vyberte možnost Obnovit.

    operaci resetování Gitu v nabídce kebabu.

  3. Vyberte větev, která se má resetovat.

    resetování Gitu – pevné dialogové okno.

Konfigurace režimu řídké rezervace

Nastavení řídkého převzetí je klientské nastavení, které umožňuje klonovat a pracovat pouze s podmnožinou adresářů ve vzdálených úložištích na Databricks. To je užitečné zejména v případě, že velikost úložiště přesahuje podporované limity Databricks.

Režim řídké rezervace můžete použít při přidávání (klonování) nového úložiště.

  1. V dialogovém okně Přidat složku Git otevřete Upřesnit.

  2. Vyberte řídký checkout režim.

    Možnost řídké rezervace v dialogovém okně Přidat složku Git

  3. V poli Vzory kužele zadejte požadované vzory rezervace kužele. Oddělte více vzorů pomocí konců řádků.

V tuto chvíli nemůžete zakázat použití řídkého vyzvedávání pro úložiště v Azure Databricks.

Jak fungují vzory kuželů

Pokud chcete zjistit, jak vzor kužele funguje v režimu řídké rezervace, podívejte se na následující diagram představující strukturu vzdáleného úložiště.

Struktura vzdáleného úložiště bez řídké rezervace

Pokud vyberete režim řídkého checkoutu, ale nezadáte vzor kužele, použije se výchozí vzor kužele. To zahrnuje pouze soubory v kořenovém adresáři a žádné podadresáře, což vede k následující struktuře úložiště:

Řídké rezervace: výchozí vzor kužele.

Nastavení řídkého vzoru kužele rezervace jako parent/child/grandchild výsledků ve všech obsahech grandchild adresáře, který se rekurzivně zahrne. Soubory okamžitě v adresáři /parent/parent/child a kořenovém adresáři jsou také zahrnuty. Podívejte se na adresářovou strukturu v následujícím diagramu:

Řídké rezervace: Zadejte vzor kužele složky parent-grandchild-child.

Můžete přidat více vzorů oddělených koncům řádků.

Poznámka:

Chování vyloučení (!) se v syntaxi vzoru kornoutu Gitu nepodporuje.

Úprava nastavení řídké rezervace

Po vytvoření úložiště je možné řídký vzor kužele rezervace upravit ze > nastavení>.

Všimněte si následujícího chování:

  • Odebrání složky ze vzoru kužele ji odebere z Databricks, pokud nejsou nepotvrzené změny.

  • Přidání složky prostřednictvím úprav vzor kornoutu řídké rezervace ho přidá do Databricks bez nutnosti dalšího vyžádání změn.

  • Řídké kontrolní vzory nelze upravit tak, aby odebíraly složku, pokud má složka nepotvrzené změny.

    Uživatel například upraví soubor ve složce a nespíše změny. Pak se pokusí změnit vzor řídké rezervace tak, aby tuto složku nezahrnovala. V tomto případě se vzor přijme, ale skutečná složka se neodstraní. Potřebuje vrátit vzor, aby zahrnoval danou složku, potvrdit změny a pak znovu použít nový vzor.

Poznámka:

Nemůžete zakázat řídké vyhrazení pro repozitář vytvořený s povoleným režimem řídkého vyhrazení.

Provedení a nasdílení změn pomocí řídké rezervace

Můžete upravit existující soubory a potvrdit je a odeslat je ze složky Git. Při vytváření nových složek souborů je zahrňte do vzoru kužele, který jste pro toto úložiště zadali.

Zahrnutím nové složky mimo vzor kužele dojde během operace potvrzení a vložení k chybě. Pokud ho chcete opravit, upravte vzor kužele tak, aby obsahoval novou složku, kterou se pokoušíte potvrdit a odeslat.

Vzory konfiguračního souboru úložiště

Konfigurační soubor pro potvrzení používá vzory podobné vzorům gitignore a dělá toto:

  • Pozitivní vzory umožňují zahrnutí výstupů pro odpovídající poznámkové bloky.
  • Negativní vzory zakazují zahrnutí výstupů pro odpovídající poznámkové bloky.
  • Vzory se vyhodnocují v pořadí pro všechny poznámkové bloky.
  • Neplatné cesty nebo cesty, které se nepřekládají na .ipynb poznámkové bloky, se ignorují.

Pozitivní vzor: Pokud chcete zahrnout výstupy z cesty folder/innerfolder/notebook.ipynbpoznámkového bloku, použijte následující vzory:

**/*
folder/**
folder/innerfolder/note*

Negativní vzor: Pokud chcete vyloučit výstupy poznámkového bloku, zkontrolujte, jestli se žádný z pozitivních vzorů neshoduje nebo nepřidá negativní vzor ve správném místě konfiguračního souboru. Negativní vzory (vyloučení) začínají na !:

!folder/innerfolder/*.ipynb
!folder/**/*.ipynb
!**/notebook.ipynb

Omezení řídké rezervace

Řídké rezervace v současné době nefunguje pro úložiště Azure DevOps větší než 4 GB.

Přidejte úložiště a připojte se vzdáleně později.

Pokud chcete spravovat složky Gitu a pracovat s nimi programově, použijte rozhraní REST API složek Gitu.

Odstranění složky Git

Odebrání složky Gitu z pracovního prostoru:

  1. Klikněte pravým tlačítkem na složku Git a vyberte Přesunout do koše.
  2. Potvrďte zadáním názvu složky Git.
  3. Klikněte na Potvrdit a přesunout do koše.