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
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.
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.
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.
- A klónozni kívánt Git-adattár URL-címe
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.
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.
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 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.
Megjelenik egy teljes képernyős párbeszédpanel, ahol Git-műveleteket hajthat végre.
- 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 .
- Az új ág létrehozására vonatkozó gomb.
- Az aktuális ágba bejelentkezett fájlegységek és almappák listája.
- Egy gomb, amely a Git-szolgáltatóhoz viszi, és megjeleníti az aktuális ágelőzményeket.
- A távoli Git-adattárból tartalmat lekérő gomb.
- Szövegmező, amelyben véglegesítési üzenetet és opcionális bővített leírást ad a módosításokhoz.
- 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ó , 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.
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:
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:
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.
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 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 érheti el.
A újbóli módosítás megváltoztatja egy ág véglegesítési előzményeit. Például git merge
az git rebase
egyik ág módosításait integrálja egy másikba. A Rebase a következőket végzi el:
- Menti az aktuális ág véglegesítéseit egy ideiglenes területre.
- Alaphelyzetbe állítja az aktuális ágat a kiválasztott ágra.
- 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:
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.
A kebab menüben válassza a Rebase lehetőséget.
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.
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.
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.
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.
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 --force
kombiná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áulmain
) á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:
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.
Válassza a () Alaphelyzetbe állítás () lehetőséget a kebab menüből.
Válassza ki az alaphelyzetbe állítani kívánt ágat.
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.
A Git hozzáadása párbeszédpanelen nyissa meg a Speciális elemet.
Válassza Ritka kivétel módlehetőséget.
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.
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ő:
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/child
gyökérkönyvtárban is. Tekintse meg a könyvtárszerkezetet az alábbi ábrán:
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.ipynb
kimeneteit 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.