Spouštění operací Gitu ve složkách Git Databricks (Repos)
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
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.
V pravém horním rohu pracovního prostoru klikněte na šipku dolů a v rozevíracím seznamu vyberte složku Git.
V dialogovém okně Vytvořit složku Git zadejte následující informace:
- Adresa URL úložiště Git, které chcete klonovat, ve formátu
https://example.com/organization/project.git
- 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 ve vašem pracovním prostoru, který bude obsahovat obsah klonovaného úložiště
- Zda použijete řídké pokladny, ve kterých se klonují pouze podadresáře zadané pomocí vzoru kužele
- Adresa URL úložiště Git, které chcete klonovat, ve formátu
V této fázi máte možnost klonovat pouze podmnožinu adresářů úložiště pomocí řídké rezervace. To je užitečné, pokud je úložiště větší než podporované limity Databricks.
- 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.
Osvědčený postup: Spolupráce ve složkách Gitu
Složky Git Databricks se ve vašem pracovním prostoru chovají jako vložení klienti Gitu, aby uživatelé mohli spolupracovat pomocí správy zdrojového kódu a správy verzí založených na Gitu. Pokud chcete, aby týmová spolupráce byla efektivnější, použijte samostatnou složku Git Databricks namapovanou na vzdálené úložiště Git pro každého uživatele, který pracuje ve své vlastní vývojové větvi . I když obsah do složky Gitu může přispívat více uživatelů, měl by provádět operace Gitu, jako je pull, push, commit a branch switching. Pokud více uživatelů provádí operace Gitu ve složce Git, může být správa větví obtížná a náchylná k chybám, například když uživatel přepne větev a neúmyslně ji přepne pro všechny ostatní uživatele této složky.
Pokud chcete sdílet složku Gitu se spolupracovníkem, klikněte na Kopírovat odkaz a vytvořte složku Git v banneru v horní části pracovního prostoru Databricks. Tato akce zkopíruje adresu URL do místní schránky, kterou můžete odeslat jinému uživateli. Když uživatel příjemce načte tuto adresu URL v prohlížeči, přejde do pracovního prostoru, kde může vytvořit vlastní složku Git naklonovanou ze stejného vzdáleného úložiště Git. V uživatelském rozhraní se zobrazí modální dialogové okno Pro vytvoření složky Git s předem vyplněnými hodnotami převzatými z vaší vlastní složky Git. Když v modálním režimu kliknou na modré tlačítko Vytvořit složku Git, úložiště Git se naklonuje do pracovního prostoru pod aktuální pracovní složkou, kde s ní teď můžou pracovat přímo.
Při přístupu ke složce Git někoho jiného ve sdíleném pracovním prostoru klikněte v horní části na Vytvořit složku Git. Tato akce otevře dialogové okno Vytvořit složku Git, které je předem vyplněné konfigurací úložiště Git, které ji zálohuje.
Důležité
V současné době nemůžete pomocí rozhraní příkazového řádku Git provádět operace Gitu ve složce Git. Pokud naklonujete úložiště Git pomocí rozhraní příkazového řádku prostřednictvím webového terminálu clusteru, soubory se nezobrazí v uživatelském rozhraní Azure Databricks.
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.
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 vybrat Git... z nabídky.
Zobrazí se dialogové okno na celé obrazovce, kde můžete provádět operace Gitu.
- 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.
- Tlačítko pro vytvoření nové větve
- Seznam prostředků souborů a podsložek vrácených do aktuální větve
- Tlačítko, které vás přenese na svého poskytovatele Gitu a zobrazí aktuální historii větví.
- Tlačítko pro načtení obsahu ze vzdáleného úložiště Git.
- Textové pole, do kterého přidáte zprávu potvrzení a volitelný rozšířený popis změn.
- 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.
Kliknutím na kebab v pravém horním rohu si můžete vybrat z dalších operací gitové větve, jako je například pevné resetování, sloučení nebo změna základu.
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:
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):
Důležité
Po rezervaci větve ve složce Git existuje vždy šance, že větev může někdo jiný odstranit ve vzdáleném úložišti Git. Pokud je větev odstraněna ve vzdáleném úložišti, může místní verze zůstat v přidružené složce Gitu po dobu až 7 dnů. Místní větve v Databricks nelze odstranit, takže pokud je musíte odebrat, musíte také odstranit a znovu vytvořit úložiště.
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í.
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 potvrzení do výchozí větve (například main
větve), vytvořte novou větev a pomocí rozhraní poskytovatele Git vytvořte žádost o přijetí změn (PR) a sloučíte ji s výchozí větví.
Poznámka:
- Výstupy poznámkového bloku nejsou ve výchozím nastavení zahrnuty do potvrzení, pokud jsou poznámkové bloky uloženy ve zdrojových formátech souborů (
.py
,.scala
,.sql
,.r
). Informace o potvrzení výstupů poznámkového bloku pomocí formátu IPYNB najdete v tématu Kontrola potvrzení výstupních artefaktů poznámkového bloku IPYNB.
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 kebabu 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 nabídky 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 rebase
Podobně jako git merge
funkce integruje změny z jedné větve do druhé. Změna základu provede následující:
- Uloží potvrzení v aktuální větvi do dočasné oblasti.
- Obnoví aktuální větev na zvolenou větev.
- 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:
V nabídce Větev v uživatelském rozhraní složek Git vyberte větev, kterou chcete znovu načíst.
V nabídce kebabu vyberte Rebase .
Vyberte větev, u které chcete provést obnovení základu.
Operace opětovného základu integruje změny z větve, kterou zde zvolíte, do aktuální větve.
Složky Gitu Databricks běží git commit
a git push --force
aktualizují vzdálené ú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.
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.
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 chcete zachovat jenom všechny aktuální nebo příchozí změny, klikněte na kebab napravo od názvu souboru v podokně poznámkového bloku a vyberte Buď 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.
Tip
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.
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 Git Databricks odpovídá git reset --hard
kombinaci s git push --force
.
Obnovení Gitu nahradí obsah a historii větví nejnovějším stavem jiné větve. Tuto možnost můžete použít v případě, že jsou úpravy v konfliktu s upstreamovou větví a nevadí vám, že tyto úpravy ztratíte při resetování na nadřazenou 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 (například
feature_a
) resetujete na jinou větev (napříkladmain
). - Resetujete také 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:
V uživatelském rozhraní složek Gitu z nabídky Větev zvolte větev, kterou chcete resetovat.
V nabídce kebabu vyberte Obnovit .
Vyberte větev, která se má resetovat.
Konfigurace režimu řídké rezervace
Řídké rezervace je nastavení na straně klienta, které umožňuje klonovat a pracovat pouze s podmnožinou adresářů vzdálených úložišť v 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ě.
V dialogovém okně Přidat složku Git otevřete Upřesnit.
Vyberte režim řídké rezervace.
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 řídké rezervace ú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ě.
Pokud vyberete režim řídké rezervace, 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ě:
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:
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 vzorů Rozšířené > kužele 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.
Vzory řídké rezervace nelze změnit, aby se při nepotvrzených změnách v této složce odebrala složka.
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:
Řídké rezervace úložiště, které bylo vytvořeno s povoleným režimem řídké rezervace, nemůžete zakázat.
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.ipynb
pozná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.