Megosztás a következőn keresztül:


Git-műveletek futtatása a Databricks Git-mappákon (Adattárak)

A cikk bemutatja, hogyan hajthat végre gyakori Git-műveleteket a Databricks-munkaterületen Git-mappák használatával, beleértve a klónozást, az elágaztatást, a véglegesítést és a leküldést.

Távoli Git-adattárhoz csatlakoztatott adattár klónozása

  1. Az oldalsávban válassza a Munkaterület menüpontot, majd keresse meg azt a mappát, ahol létre szeretné hozni a Git-adattár klónt.

  2. Kattintson a munkaterület jobb felső sarkában lévő Hozzáadás melletti lefelé mutató nyílra, és válassza ki a Git mappa lehetőséget a legördülő listából.

    Tárház felhasználói felületének hozzáadása.

  3. A Git mappa létrehozása párbeszédpanelen adja meg a következő információkat:

    • A klónozni kívánt Git-adattár URL-címe https://example.com/organization/project.git
    • A klónozni kívánt adattár Git-szolgáltatója. A lehetőségek közé tartozik a GitHub, a GitHub Enterprise, a GitLab és az Azure DevOps (Azure Repos)
    • A munkaterület azon mappájának neve, amely a klónozott adattár tartalmát fogja tartalmazni
    • Használhatja-e a ritka ellenőrzést, amelyben a repozitórium könyvtárainak csak egy részhalmazát klónozza, kúpmintázat alkalmazásával. Ez akkor hasznos, ha az adattár nagyobb, mint a Databricks által támogatott korlátok.

    Klónozás a Git-mappa felhasználói felületéről.

  4. Kattintson a Git-mappa létrehozása elemre. A távoli adattár tartalma a Databricks-adattárba van klónozva, és a munkaterületen keresztül megkezdheti velük a munkát támogatott Git-műveletek használatával.

Ajánlott eljárás: Együttműködés Git-mappákban

A Databricks Git-mappák hatékonyan működnek beágyazott Git-ügyfelekként a munkaterületen, így a felhasználók Együttműködhetnek a Git-alapú forráskövetés és verziószámozás használatával. A csapatmunka hatékonyabbá tétele érdekében használjon egy különálló Databricks Git-mappát, amely egy távoli Git-adattárhoz van hozzárendelve minden olyan felhasználó számára, aki a saját fejlesztési ágában dolgozik. Bár több felhasználó is közreműködhet tartalommal a Git-mappákban, csak egy kijelölt felhasználó hajthat végre Git-műveleteket, például lekéréses, leküldéses, véglegesítési és ágváltási műveleteket. Ha több felhasználó hajt végre Git-műveletet egy Git-mappában, az ágkezelés nehézkessé és hibalehetőséggé válhat, például amikor egy felhasználó átvált egy ágat, és véletlenül az adott mappa összes többi felhasználója számára átváltja azt.

Ha meg szeretne osztani egy Git-mappát egy közreműködővel, kattintson a Másolás hivatkozásra a Git-mappa létrehozásához a Databricks-munkaterület tetején lévő szalagcímen. Ez a művelet egy URL-címet másol a helyi vágólapra, amelyet elküldhet egy másik felhasználónak. Amikor a címzett felhasználó betölti ezt az URL-címet egy böngészőben, a rendszer arra a munkaterületre viszi őket, ahol létrehozhatják a saját Git-mappájukat, amely ugyanabból a távoli Git-adattárból van klónozva. A felhasználói felületen egy Git-mappa létrehozása modális párbeszédpanel jelenik meg, amely előre ki van töltve a saját Git-mappából vett értékekkel. Amikor a modális kék Git-mappa létrehozása gombra kattintanak, a Git-adattár a jelenlegi munkamappájuk alatti munkaterületre lesz klónozva, ahol mostantól közvetlenül dolgozhatnak vele.

Kattintson a Git mappára mutató hivatkozás másolása gombra a szalagcímen a mappa Git-adattár konfigurációjának megosztásához a Databricks-szervezet egy másik felhasználójával

Ha valaki más Git-mappáját éri el egy megosztott munkaterületen, kattintson a Git-mappa létrehozása elemre a szalagcím tetején. Ez a művelet megnyitja a Git-mappa létrehozása párbeszédpanelt, amely előre ki van töltve a git-adattár konfigurációjával.

Ha megtekinti egy másik felhasználó Git-mappáját, kattintson a Szalagcím Git-mappa létrehozása gombjára, hogy másolatot készítsen a mappáról a saját munkaterületén

Fontos

Jelenleg nem használhatja a Git CLI-t Git-műveletek Git-mappában való végrehajtásához. Ha egy Git-adattárat klónozza a parancssori felület használatával egy fürt webes terminálján keresztül, a fájlok nem jelennek meg az Azure Databricks felhasználói felületén.

A Git párbeszédpanel elérése

A Git párbeszédpanelt jegyzetfüzetből vagy a Databricks Git mappaböngészőből érheti el.

  • Egy jegyzetfüzetben kattintson az aktuális Git-ágat azonosító jegyzetfüzet neve melletti gombra.

    A Git párbeszédpanel gombja a jegyzetfüzetben.

  • A Databricks Git mappaböngészőben kattintson az adattár nevének jobb oldalán található gombra. Az adattár nevére a jobb gombbal kattintva Git... lehetőséget is választhatja a menüből.

    A Git párbeszédpanel gombja és a Git menü az adattárböngészőben.

Megjelenik egy teljes képernyős párbeszédpanel, ahol Git-műveleteket hajthat végre.

A Git-műveletek Databricks-munkaterületen való végrehajtásához használt párbeszédpanel.

  1. Az aktuális munkaág. Itt más ágakat is kijelölhet. Ha más felhasználók is hozzáférnek ehhez a Git-mappához, az ág módosítása szintén módosítja az ágat, ha ugyanazon a munkaterületen osztoznak. A probléma elkerülése érdekében tekintse meg a javasolt ajánlott eljárásokat .
  2. Az új ág létrehozására vonatkozó gomb.
  3. Az aktuális ágba bejelentkezett fájlegységek és almappák listája.
  4. Egy gomb, amely a Git-szolgáltatóhoz viszi, és megjeleníti az aktuális ágelőzményeket.
  5. A távoli Git-adattárból tartalmat lekérő gomb.
  6. Szövegmező, amelyben véglegesítési üzenetet és opcionális bővített leírást ad a módosításokhoz.
  7. A munka munkaágba való véglegesítéséhez és a frissített ág távoli Git-adattárba való leküldéséhez használható gomb.

Kattintson a jobb felső sarokban található Kebab menüre, hogy további Git-ágműveletek közül válasszon, mint például kemény visszaállítás, egyesítés vagy újrabázis.

Az ágműveletek Git-mappa párbeszédében található legördülő menü.

Itt végezhet Git-műveleteket a munkaterület Git-mappájában. A felhasználói felületen bemutatott Git-műveletekre korlátozódik.

Új ág létrehozása

A Git párbeszédpanelen létrehozhat egy új ágat egy meglévő ág alapján:

Git párbeszédpanel új ága.

Váltás másik ágra

Másik ágra válthat (kivétel) a Git párbeszédpanel ág legördülő menüjével:

A Git párbeszédpanel váltása másik ágra

Fontos

Miután kivesz egy ágat egy Git-mappából, mindig előfordulhat, hogy valaki más törli az ágat a távoli Git-adattárból. Ha egy ágat töröl a távoli adattárból, a helyi verzió legfeljebb 7 napig maradhat a társított Git-mappában. A Databricks helyi ágai nem törölhetők, ezért ha el kell távolítania őket, akkor az adattárat is törölnie kell és újra el kell zárnia.

Módosítások véglegesítése és leküldése a távoli Git-adattárba

Ha új jegyzetfüzeteket vagy fájlokat adott hozzá, vagy módosította a meglévő jegyzetfüzeteket vagy fájlokat, a Git mappa felhasználói felülete kiemeli a módosításokat.

Git párbeszédpanel kiemelt módosításokkal.

Adjon hozzá egy kötelező véglegesítési üzenetet a módosításokhoz, majd a Véglegesítés > Leküldés gombra kattintva küldje el ezeket a módosításokat a távoli Git-adattárba.

Ha nincs engedélye arra, hogy véglegesítse az alapértelmezett ágat (például az main ágat), hozzon létre egy új ágat, és a Git-szolgáltató felületével hozzon létre egy lekéréses kérelmet (PR) az alapértelmezett ágba való egyesítéshez.

Feljegyzés

  • A jegyzetfüzet-kimenetek alapértelmezés szerint nem szerepelnek a véglegesítésekben, ha a jegyzetfüzetek forrásfájlformátumokban vannak mentve (.py, .scala, , .sql). .r Az IPYNB formátumot használó jegyzetfüzet-kimenetek véglegesítéséről további információt az IPYNB-jegyzetfüzet kimeneti összetevő-véglegesítéseinek szabályozása című témakörben talál .

Módosítások lekérése a távoli Git-adattárból

A távoli Git-adattár módosításainak lekéréséhez kattintson a Lekérés gombra a Git-műveletek párbeszédpanelen. A jegyzetfüzetek és más fájlok automatikusan frissülnek a távoli Git-adattár legújabb verziójára. Ha a távoli adattárból lekért módosítások ütköznek a Databricks helyi módosításaival, meg kell oldania az egyesítési ütközéseket.

Fontos

A felsőbb rétegbe beolvasható Git-műveletek törlik a jegyzetfüzet állapotát. További információ: A bejövő módosítások törlik a jegyzetfüzet állapotát.

Ágak egyesítése

A Git Merge műveletet a Git-műveletek párbeszédpanel jobb felső sarkában található kebabból Kebab menü kiválasztva érheti el.

A Databricks Git-mappák egyesítési függvénye az egyik ágat egy másikba egyesíti a használatával git merge. Az egyesítési művelet az egyik ág véglegesítési előzményeinek egy másik ágba való összevonására; az egyetlen különbség az a stratégia, amelyet ennek eléréséhez használ. A Git kezdőknek javasoljuk az egyesítést (újrabázison keresztül), mert nem igényel kényszerített leküldést egy ágba, ezért nem írja át a véglegesítési előzményeket.

  • Ha egyesítési ütközés van, oldja fel a Git-mappák felhasználói felületén.
  • Ha nincs ütközés, a rendszer leküldi az egyesítést a távoli Git-adattárba a használatával git push.

Rebase ág egy másik ágon

A Git Rebase műveletet a Git-műveletek párbeszédpanel jobb felső sarkában található kebab menüből választva Kebab menü érheti el.

A újbóli módosítás megváltoztatja egy ág véglegesítési előzményeit. Például git mergeaz git rebase egyik ág módosításait integrálja egy másikba. A Rebase a következőket végzi el:

  1. Menti az aktuális ág véglegesítéseit egy ideiglenes területre.
  2. Alaphelyzetbe állítja az aktuális ágat a kiválasztott ágra.
  3. Alkalmazza újra az aktuális ágon korábban mentett egyes véglegesítéseket, ami lineáris előzményt eredményez, amely egyesíti a két ág módosításait.

Figyelmeztetés

Az újrabázis használata verziószámozási problémákat okozhat az ugyanabban az adattárban dolgozó közreműködők számára.

Gyakori munkafolyamat egy szolgáltatáság újrabázisa a fő ágon.

Ág újrabázisa egy másik ágon:

  1. A Git-mappák felhasználói felületén található Ág menüben válassza ki azt az ágat, amelyet újrabázisozni szeretne.

  2. A kebab menüben válassza a Rebase lehetőséget.

    Git rebase függvény a kebab menüben.

  3. Válassza ki azt az ágat, amelyen újra szeretné helyezni az adatbázist.

    Az újrabázis művelet az itt kiválasztott ág módosításait integrálja az aktuális ágba.

A Databricks Git-mappák git commit és git push --force folyamatai a távoli Git-adattár frissítésére futnak.

Egyesítési ütközések feloldása

Egyesítési ütközések akkor fordulnak elő, ha 2 vagy több Git-felhasználó egy fájl ugyanazon soraiban lévő módosításokat egy közös ágba próbálja egyesíteni, és a Git nem tudja kiválasztani a megfelelő módosításokat. Egyesítési ütközések akkor is előfordulhatnak, ha egy felhasználó megkísérli lekérni vagy egyesíteni egy másik ág módosításait egy nem véglegesített módosításokkal rendelkező ágba.

Animált GIF, amely egy git-lekérés során nem véglegesített módosításokból eredő gyakori egyesítési ütközést jelenít meg

Ha egy művelet, például a lekérés, az újrabázis vagy az egyesítés egyesítési ütközést okoz, a Git-mappák felhasználói felülete megjeleníti az ütközéseket tartalmazó fájlok listáját és az ütközések feloldásának lehetőségeit.

Két elsődleges lehetőség közül választhat:

  • Az ütközés feloldásához használja a Git-mappák felhasználói felületét.
  • Megszakítja a Git-műveletet, manuálisan elveti az ütköző fájl módosításait, és próbálkozzon újra a Git-művelettel.

A Databricks Git mappa felhasználói felületén egyesítési ütközést megjelenítő animált GIF

Ha az egyesítési ütközéseket a Git-mappák felhasználói felületével oldja fel, választania kell a szerkesztőben az ütközések manuális feloldása vagy az összes bejövő vagy aktuális módosítás megtartása között.

Az összes aktuális vagy bejövő módosítás megtartása

Ha tudja, hogy csak szeretné megtartani az összes aktuális vagy bejövő módosítást, kattintson a jegyzetfüzet ablaktáblájában a fájlnév jobb oldalán található kebabra, és válassza a Az összes aktuális módosítás megtartása vagy Az összes bejövő módosítás. Kattintson az azonos címkével ellátott gombra a módosítások véglegesítéséhez és az ütközés feloldásához.

A Databricks-jegyzetfüzet felhasználói felületének panelje, amelyen az egyesítési ütközések feloldásának legördülő beállításai láthatók

Tipp.

Nem világos, hogy melyik lehetőséget válassza? Az egyes beállítások színe megegyezik a fájlban megtartott kódmódosításokkal.

Ütközések manuális feloldása

A manuális ütközésfeloldással meghatározhatja, hogy az ütköző sorok közül melyik legyen elfogadva az egyesítésben. Egyesítési ütközések esetén az ütközést úgy oldhatja fel, hogy közvetlenül szerkeszti a fájl tartalmát az ütközésekkel.

Animált GIF, amely egy egyesítési ütközés manuális feloldását mutatja

Az ütközés feloldásához jelölje ki azokat a kódsorokat, amelyeket meg szeretne őrizni és törölni, beleértve a Git egyesítési ütközésjelölőit is. Ha elkészült, válassza a Megjelölés feloldvakéntlehetőséget.

Ha úgy dönt, hogy helytelen döntéseket hozott az egyesítési ütközések feloldása során, a megszakítás gombra kattintva megszakíthatja a folyamatot, és visszavonhat mindent. Az összes ütközés feloldása után kattintson az Egyesítés folytatása vagy az Újrabázis folytatása lehetőségre az ütközés feloldásához és a művelet befejezéséhez.

Git reset

A Databricks Git-mappákban egy Gitet reset az Azure Databricks felhasználói felületén hajthat végre. A Git visszaállítása a Databricks Git-mappákban egyenértékű a git reset --hard és git push --forcekombinációjával.

A Git reset az ág tartalmát és előzményeit egy másik ág legújabb állapotára cseréli. Ezt akkor használhatja, ha a módosítások ütköznek a felső ággal, és nem bánja, ha elveszíti ezeket a módosításokat a felső ágra való visszaállításkor. További információ a gitről reset –hard.

Visszaállítás felsőbb rétegbeli (távoli) ágra

Ebben git reset a forgatókönyvben:

  • A kijelölt ágat (például feature_a) egy másik ágra (például main) állítja vissza.
  • A felső (távoli) ágat is alaphelyzetbe kell állítania, feature_a főre.

Fontos

Az alaphelyzetbe állításkor elveszíti az összes véglegesített és nem véglegesített módosítást az ág mind helyi, mind távoli verziójában.

Ág visszaállítása távoli ágra:

  1. A Git-mappák felhasználói felületén, az ág menüben válassza ki a visszaállítani kívánt ágat.

    Ágválasztó a Git-mappák felhasználói felületén.

  2. Válassza a () Alaphelyzetbe állítás () lehetőséget a kebab menüből.

    Git alaphelyzetbe állítása a kebab menüben.

  3. Válassza ki az alaphelyzetbe állítani kívánt ágat.

    Git alaphelyzetbe állítása – kemény párbeszédpanel.

Ritka kivétel mód konfigurálása

A ritka kivétel egy ügyféloldali beállítás, amely lehetővé teszi, hogy a Databricksben a távoli adattárak címtárainak csak egy részhalmazával klónozhassa és működjön együtt. Ez különösen akkor hasznos, ha az adattár mérete meghaladja a Databricks által támogatott korlátokat.

Új adattár hozzáadásakor (klónozáskor) használhatja a Ritka kivétel módot.

  1. A Git hozzáadása párbeszédpanelen nyissa meg a Speciális elemet.

  2. Válassza Ritka kivétel módlehetőséget.

    Ritka kivétel lehetőség a Git-mappa hozzáadása párbeszédpanelen.

  3. A Cone-minták mezőben adja meg a kívánt kúp kivételi mintákat. Több minta elválasztása sortörések szerint.

Jelenleg nem tilthatja le az Azure Databricks-adattár ritka kivételét.

A kúpminták működése

Ha szeretné megtudni, hogyan működik a kúpminta a ritka kivétel módban, tekintse meg a távoli adattár szerkezetét ábrázoló alábbi ábrát.

Távoli adattárszerkezet ritka kivétel nélkül.

Ha a Ritka kiviteli módotválasztja, de nem ad meg kúpsémát, a rendszer az alapértelmezett kúpsémát alkalmazza. Ez csak a gyökérfájlokra és alkönyvtárakra vonatkozik, így az adattár struktúrája a következő:

Ritka kivétel: alapértelmezett kúpminta.

Ha a ritka kivételi kúpmintát parent/child/grandchild úgy állítja be, hogy a könyvtár összes tartalma rekurzívan szerepel.grandchild A fájlokat a rendszer azonnal tartalmazza a , /parent és a /parent/childgyökérkönyvtárban is. Tekintse meg a könyvtárszerkezetet az alábbi ábrán:

Ritka kivétel: Adja meg a szülő-unoka-gyermek mappa kúp mintáját.

Sortörésekkel elválasztott mintákat is hozzáadhat.

Feljegyzés

A kizárási viselkedések (!) nem támogatottak a Git Cone-minta szintaxisában.

Ritka kivétel beállításainak módosítása

Az adattár létrehozása után a ritka kivételi kúp minta szerkeszthető a Beállítások speciális kúp mintáiból>.>

Figyelje meg a következő viselkedést:

  • Ha eltávolít egy mappát a kúpmintából, eltávolítja azt a Databricksből, ha nincsenek véglegesített módosítások.

  • Ha hozzáad egy mappát a ritka pénztári kúpminta szerkesztésével, további lekérés nélkül hozzáadja azt a Databrickshez.

  • Nem lehet módosítani a sparse checkout mintákat úgy, hogy eltávolítsuk a mappát, ha abban nem elkötelezett változtatások vannak.

    A felhasználó például szerkeszt egy fájlt egy mappában, és nem véglegesíti a módosításokat. Ezután megpróbálja módosítani a ritka kivételi mintát, hogy ne tartalmazza ezt a mappát. Ebben az esetben a rendszer elfogadja a mintát, de a tényleges mappa nem törlődik. Vissza kell állítania a mintát, hogy belefoglalja a mappát, véglegesítse a módosításokat, majd újra alkalmazza az új mintát.

Feljegyzés

Nem tilthatja le a ritka kivételt egy olyan adattár esetében, amely engedélyezve van a Ritka kivétel móddal.

Módosítások végrehajtása és leküldése ritka kivétellel

Szerkesztheti a meglévő fájlokat, véglegesítheti és leküldheti őket a Git mappából. Új fájlmappák létrehozásakor vegye fel őket az adattárhoz megadott kúpmintára.

A kúpmintán kívüli új mappa belefoglalása hibát eredményez a véglegesítési és leküldési művelet során. A hiba kijavításához szerkessze a kúpmintát, hogy tartalmazza a véglegesíteni és leküldni kívánt új mappát.

Adattár konfigurációs fájljának mintái

A véglegesítési kimenetek konfigurációs fájlja a gitignore-mintákhoz hasonló mintákat használ, és a következőket teszi:

  • A pozitív minták lehetővé teszik a kimenetek felvételét az egyező jegyzetfüzetekhez.
  • A negatív minták letiltják az egyező jegyzetfüzetek kimenetbe való felvételét.
  • A minták kiértékelése az összes jegyzetfüzet esetében történik.
  • A rendszer figyelmen kívül hagyja az .ipynb érvénytelen elérési utakat vagy a jegyzetfüzetekre nem feloldó elérési utakat.

Pozitív minta: A jegyzetfüzet elérési útjának folder/innerfolder/notebook.ipynbkimeneteit a következő mintákkal használhatja:

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

Negatív minta: Ha ki szeretné zárni a jegyzetfüzet kimeneteit, ellenőrizze, hogy a pozitív minták egyike sem egyezik-e meg, vagy adjon-e hozzá negatív mintát a konfigurációs fájl megfelelő helyén. A negatív (kizárási) minták a következővel !kezdődnek:

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

Ritka kivétel korlátozása

A ritka kivétel jelenleg nem működik a 4 GB-nál nagyobb Méretű Azure DevOps-adattárak esetében.

Adattár hozzáadása és távoli csatlakozás később

A Git-mappák programozott kezeléséhez és kezeléséhez használja a Git-mappák REST API-t.