Delen via


Git-bewerkingen uitvoeren in Databricks Git-mappen (opslagplaatsen)

In het artikel wordt beschreven hoe u algemene Git-bewerkingen uitvoert in uw Databricks-werkruimte met behulp van Git-mappen, waaronder klonen, vertakkingen, doorvoeren en pushen.

Een opslagplaats klonen die is verbonden met een externe Git-opslagplaats

  1. Selecteer werkruimte in de zijbalk en ga vervolgens naar de map waarin u de Kloon van de Git-opslagplaats wilt maken.

  2. Klik op de pijl-omlaag rechts van de invoegtoepassing in de rechterbovenhoek van de werkruimte en selecteer Git-map in de vervolgkeuzelijst.

    Voeg de gebruikersinterface van de opslagplaats toe.

  3. Geef in het dialoogvenster Git-map maken de volgende informatie op:

    • De URL van de Git-opslagplaats die u wilt klonen, in de indeling https://example.com/organization/project.git
    • De Git-provider voor de opslagplaats die u wilt klonen. Opties zijn GitHub, GitHub Enterprise, GitLab en Azure DevOps (Azure-opslagplaatsen)
    • De naam van de map in uw werkruimte die de inhoud van de gekloonde opslagplaats bevat
    • Of u nu sparse uitchecken gebruikt, waarbij alleen submappen die zijn opgegeven met behulp van een kegelpatroon worden gekloond

    Kloon vanuit de gebruikersinterface van de Git-map.

In deze fase hebt u de mogelijkheid om alleen een subset van de mappen van uw opslagplaats te klonen met behulp van een sparse-betaling. Dit is handig als uw opslagplaats groter is dan de limieten die door Databricks worden ondersteund

  1. Klik op Git-map maken. De inhoud van de externe opslagplaats wordt gekloond naar de Databricks-opslagplaats en u kunt hiermee aan de slag met ondersteunde Git-bewerkingen via uw werkruimte.

Best practice: Samenwerken in Git-mappen

Databricks Git-mappen gedragen zich effectief als ingesloten Git-clients in uw werkruimte, zodat gebruikers kunnen samenwerken met behulp van broncodebeheer en versiebeheer op basis van Git. Als u teamsamenwerking effectiever wilt maken, gebruikt u een afzonderlijke Databricks Git-map die is toegewezen aan een externe Git-opslagplaats voor elke gebruiker die in hun eigen ontwikkelvertakking werkt. Hoewel meerdere gebruikers inhoud kunnen bijdragen aan een Git-map, moet slechts één aangewezen gebruiker Git-bewerkingen uitvoeren, zoals pull-, push-, doorvoer- en vertakkingswisseling. Als meerdere gebruikers Git-bewerkingen uitvoeren in een Git-map, kan vertakkingsbeheer lastig en foutgevoelig worden, bijvoorbeeld wanneer een gebruiker een vertakking schakelt en onbedoeld overschakelt voor alle andere gebruikers van die map.

Als u een Git-map wilt delen met een samenwerker, klikt u op Koppeling kopiëren om een Git-map te maken in de banner boven aan uw Databricks-werkruimte. Met deze actie wordt een URL gekopieerd naar het lokale klembord dat u naar een andere gebruiker kunt verzenden. Wanneer de ontvanger die URL in een browser laadt, wordt deze naar de werkruimte gebracht waar ze hun eigen Git-map kunnen maken die is gekloond vanuit dezelfde externe Git-opslagplaats. Ze zien een modaal dialoogvenster Git-map maken in de gebruikersinterface, vooraf ingevuld met de waarden uit uw eigen Git-map. Wanneer ze op de blauwe knop Git-map maken in de modale map klikken, wordt de Git-opslagplaats gekloond naar de werkruimte onder hun huidige werkmap, waar ze er nu rechtstreeks mee kunnen werken.

Klik op de knop Koppeling naar Git-map kopiëren om de Git-opslagplaatsconfiguratie voor de map te delen met een andere gebruiker in uw Databricks-organisatie

Wanneer u de Git-map van iemand anders opent in een gedeelde werkruimte, klikt u op Git-map maken in de banner bovenaan. Met deze actie wordt het dialoogvenster Git-map maken voor u geopend, vooraf ingevuld met de configuratie voor de Git-opslagplaats die er een back-up van maakt.

Wanneer u de Git-map van een andere gebruiker bekijkt, klikt u op de knop Git-map maken in de banner om een kopie van die map in uw eigen werkruimte te maken

Belangrijk

Momenteel kunt u de Git CLI niet gebruiken om Git-bewerkingen uit te voeren in een Git-map. Als u een Git-opslagplaats kloont met behulp van de CLI via de webterminal van een cluster, worden de bestanden niet weergegeven in de Gebruikersinterface van Azure Databricks.

Het Git-dialoogvenster openen

U hebt toegang tot het Git-dialoogvenster vanuit een notebook of vanuit de Browser Databricks Git-mappen.

  • Klik in een notebook op de knop naast de naam van het notebook waarmee de huidige Git-vertakking wordt geïdentificeerd.

    Knop Git-dialoogvenster in notebook.

  • Klik in de browser voor Git-mappen van Databricks op de knop rechts van de naam van de opslagplaats. U kunt ook met de rechtermuisknop op de naam van de opslagplaats klikken en Git selecteren... in het menu.

    Knop Git-dialoogvenster en Git-menu in de opslagplaatsbrowser.

U ziet een volledig schermvenster waarin u Git-bewerkingen kunt uitvoeren.

Het dialoogvenster dat wordt gebruikt om Git-bewerkingen uit te voeren in een Databricks-werkruimte.

  1. Uw huidige werkbranch. U kunt hier andere vertakkingen selecteren. Als andere gebruikers toegang hebben tot deze Git-map, verandert het wijzigen van de vertakking ook de vertakking voor hen als ze dezelfde werkruimte delen. Bekijk een aanbevolen best practice om dit probleem te voorkomen.
  2. De knop voor het maken van een nieuwe vertakking.
  3. De lijst met bestandsassets en submappen die zijn ingecheckt in uw huidige vertakking.
  4. Een knop waarmee u naar uw Git-provider gaat en u de huidige vertakkingsgeschiedenis ziet.
  5. De knop voor het ophalen van inhoud uit de externe Git-opslagplaats.
  6. Tekstvak waarin u een doorvoeringsbericht en optionele uitgebreide beschrijving voor uw wijzigingen toevoegt.
  7. De knop om uw werk door te voeren naar de werkbranch en de bijgewerkte vertakking naar de externe Git-opslagplaats te pushen.

Klik in de rechterbovenhoek op de Menu VanGelezen schijf om te kiezen uit extra Git-vertakkingsbewerkingen, zoals een harde reset, een samenvoeging of een nieuwe basis.

Vervolgkeuzelijst in het dialoogvenster Git-map voor vertakkingsbewerkingen.

Dit is uw thuisbasis voor het uitvoeren van Git-bewerkingen in de Git-map van uw werkruimte. U bent beperkt tot de Git-bewerkingen die worden weergegeven in de gebruikersinterface.

Een nieuwe branch maken

U kunt een nieuwe vertakking maken op basis van een bestaande vertakking vanuit het Git-dialoogvenster:

Git-dialoogvenster nieuwe vertakking.

Overschakelen naar een andere vertakking

U kunt overschakelen naar een andere vertakking (uitchecken) met behulp van de vervolgkeuzelijst vertakking in het Git-dialoogvenster:

Git-dialoogvenster overschakelen naar een andere vertakking

Belangrijk

Nadat u een vertakking in een Git-map hebt uitchecken, is er altijd een kans dat de vertakking door iemand anders wordt verwijderd in de externe Git-opslagplaats. Als een vertakking wordt verwijderd in de externe opslagplaats, kan de lokale versie maximaal zeven dagen aanwezig blijven in de bijbehorende Git-map. Lokale vertakkingen in Databricks kunnen niet worden verwijderd, dus als u ze moet verwijderen, moet u de opslagplaats ook verwijderen en opnieuw verwijderen.

Wijzigingen doorvoeren en pushen naar de externe Git-opslagplaats

Wanneer u nieuwe notitieblokken of bestanden hebt toegevoegd of wijzigingen hebt aangebracht in bestaande notitieblokken of bestanden, worden de wijzigingen gemarkeerd in de gebruikersinterface van de Git-map.

Git-dialoogvenster met wijzigingen gemarkeerd.

Voeg een verplicht doorvoerbericht toe voor de wijzigingen en klik op Doorvoeren en pushen om deze wijzigingen naar de externe Git-opslagplaats te pushen.

Als u niet bent gemachtigd om door te voeren naar de standaardvertakking (zoals de main vertakking), maakt u een nieuwe vertakking en gebruikt u de interface van uw Git-provider om een pull-aanvraag (PR) te maken om deze samen te voegen in de standaardvertakking.

Notitie

  • Notebook-uitvoer wordt niet standaard opgenomen in doorvoeringen wanneer notebooks worden opgeslagen in bronbestandsindelingen (.py, .scala, .sql, ). .r Zie Doorvoeringen van IPYNB-notebookuitvoerartefacten beheren voor informatie over het doorvoeren van notebookuitvoer van notebooks met behulp van de IPYNB-indeling

Wijzigingen ophalen uit de externe Git-opslagplaats

Als u wijzigingen wilt ophalen uit de externe Git-opslagplaats, klikt u op Pull in het dialoogvenster Git-bewerkingen. Notitieblokken en andere bestanden worden automatisch bijgewerkt naar de nieuwste versie in uw externe Git-opslagplaats. Als de wijzigingen die zijn opgehaald uit de externe opslagplaats conflicteren met uw lokale wijzigingen in Databricks, moet u de samenvoegingsconflicten oplossen.

Belangrijk

Git-bewerkingen die upstream-wijzigingen ophalen, wissen de status van het notebook. Zie Binnenkomende wijzigingen wissen de status van het notitieblok voor meer informatie.

Vertakkingen samenvoegen

Open de bewerking Git-samenvoeging door deze te selecteren in de resource in de Menu VanGelezen rechterbovenhoek van het dialoogvenster Git-bewerkingen.

De samenvoegfunctie in Databricks Git-mappen voegt de ene vertakking samen in een andere met behulp van git merge. Een samenvoegbewerking is een manier om de doorvoergeschiedenis van de ene vertakking te combineren in een andere vertakking; het enige verschil is de strategie die wordt gebruikt om dit te bereiken. Voor Git-beginners is het raadzaam om samenvoegen (over rebase) te gebruiken omdat hiervoor geen geforceerde pushing naar een vertakking is vereist en daarom geen doorvoergeschiedenis wordt herschreven.

  • Als er een samenvoegingsconflict is, lost u dit op in de gebruikersinterface van Git-mappen.
  • Als er geen conflict is, wordt de samenvoeging naar de externe Git-opslagplaats gepusht met behulp van git push.

Rebase een vertakking op een andere vertakking

Open de Git Rebase-bewerking door deze te selecteren in het menu Voor het opslaan in de Menu VanGelezen rechterbovenhoek van het dialoogvenster Git-bewerkingen.

Als u de doorvoergeschiedenis van een vertakking wijzigt, wordt de doorvoergeschiedenis van een vertakking gewijzigd. git rebase Hiermee git mergeworden wijzigingen van de ene vertakking in een andere vertakking geïntegreerd. Rebase doet het volgende:

  1. Hiermee worden de doorvoeringen op uw huidige vertakking opgeslagen in een tijdelijk gebied.
  2. Hiermee stelt u de huidige vertakking opnieuw in op de gekozen vertakking.
  3. Past elke afzonderlijke doorvoer die eerder is opgeslagen op de huidige vertakking opnieuw toe, wat resulteert in een lineaire geschiedenis waarin wijzigingen van beide vertakkingen worden gecombineerd.

Waarschuwing

Het gebruik van rebase kan problemen met versiebeheer veroorzaken voor medewerkers die in dezelfde opslagplaats werken.

Een algemene werkstroom is het opnieuw baseeren van een functievertakking op de hoofdvertakking.

Ga als volgt te werk om een vertakking opnieuw te maken op een andere vertakking:

  1. Selecteer in het menu Vertakking in de gebruikersinterface van Git-mappen de vertakking die u opnieuw wiltbaseen.

  2. Selecteer Rebase inhetmenu.

    De Git-functie rebase op het menu van De basis.

  3. Selecteer de vertakking waarop u opnieuw wilt gebaseerd.

    Met de herbase-bewerking worden wijzigingen van de vertakking die u hier kiest, geïntegreerd in de huidige vertakking.

Databricks Git-mappen worden uitgevoerd git commit en git push --force om de externe Git-opslagplaats bij te werken.

Samenvoegingsconflicten oplossen

Samenvoegingsconflicten treden op wanneer twee of meer Git-gebruikers proberen wijzigingen in dezelfde regels van een bestand samen te voegen in een gemeenschappelijke vertakking en Git niet de juiste wijzigingen kunnen kiezen die moeten worden toegepast. Samenvoegingsconflicten kunnen ook optreden wanneer een gebruiker wijzigingen uit een andere vertakking probeert op te halen of samen te voegen in een vertakking met niet-doorgevoerde wijzigingen.

GIF-animatie met een veelvoorkomend samenvoegingsconflict dat voortvloeit uit niet-doorgevoerde wijzigingen tijdens een Git-pull

Als een bewerking zoals pull, opnieuw baseren of samenvoegen een samenvoegingsconflict veroorzaakt, toont de gebruikersinterface van Git-mappen een lijst met bestanden met conflicten en opties voor het oplossen van de conflicten.

U hebt twee primaire opties:

  • Gebruik de gebruikersinterface van Git-mappen om het conflict op te lossen.
  • De Git-bewerking afbreken, de wijzigingen in het conflicterende bestand handmatig negeren en de Git-bewerking opnieuw proberen.

GIF-animatie met een samenvoegingsconflict in de gebruikersinterface van een Databricks Git-mappenmap

Bij het oplossen van samenvoegingsconflicten met de gebruikersinterface van Git-mappen moet u kiezen tussen het handmatig oplossen van de conflicten in de editor of het bewaren van alle binnenkomende of huidige wijzigingen.

Alle huidige wijzigingen behouden of binnenkomende wijzigingen overnemen

Als u weet dat u alleen alle huidige of binnenkomende wijzigingen wilt behouden, klikt u rechts van de bestandsnaam in het notitieblokvenster op de naam van het notitieblok en selecteert u Alle huidige wijzigingen behouden of Alle binnenkomende wijzigingen overnemen. Klik op de knop met hetzelfde label om de wijzigingen door te voeren en het conflict op te lossen.

Het deelvenster voor de gebruikersinterface van het Databricks-notebook met de vervolgkeuzelijst voor het oplossen van samenvoegingsconflicten

Tip

Weet u niet welke optie u wilt kiezen? De kleur van elke optie komt overeen met de betreffende codewijzigingen die in het bestand worden bewaard.

Conflicten handmatig oplossen

Met handmatige conflictoplossing kunt u bepalen welke van de conflicterende regels moeten worden geaccepteerd in de samenvoegbewerking. Voor samenvoegingsconflicten lost u het conflict op door de inhoud van het bestand rechtstreeks te bewerken met de conflicten.

GIF-animatie met een handmatige oplossing van een samenvoegingsconflict

Als u het conflict wilt oplossen, selecteert u de coderegels die u wilt behouden en verwijdert u alle andere regels, inclusief de markeringen voor samenvoegingsconflicten in Git. Wanneer u klaar bent, selecteert u Markeren als opgelost.

Als u besluit dat u de verkeerde keuzes hebt gemaakt bij het oplossen van samenvoegingsconflicten, klikt u op de knop Afbreken om het proces af te breken en alles ongedaan te maken. Zodra alle conflicten zijn opgelost, klikt u op de optie Doorgaan samenvoegen of Doorgaan met opnieuwbase om het conflict op te lossen en de bewerking te voltooien.

Git reset

In Databricks Git-mappen kunt u een Git reset uitvoeren in de Gebruikersinterface van Azure Databricks. Git reset in Databricks Git-mappen is gelijk aan git reset --hard in combinatie met git push --force.

Git reset vervangt de inhoud en geschiedenis van de vertakking door de meest recente status van een andere vertakking. U kunt dit gebruiken wanneer bewerkingen conflicteren met de upstreamvertakking en u niet erg vindt dat u deze bewerkingen kwijtraakt wanneer u de upstreamvertakking opnieuw instelt. Meer informatie over Git reset –hard.

Opnieuw instellen op een upstream (externe) vertakking

Met git reset in dit scenario:

  • U stelt de geselecteerde vertakking (bijvoorbeeld feature_a) opnieuw in op een andere vertakking (bijvoorbeeld main).
  • U stelt ook de upstream -vertakking feature_a (remote) opnieuw in op main.

Belangrijk

Wanneer u het opnieuw instelt, verliest u alle niet-doorgevoerde en doorgevoerde wijzigingen in zowel de lokale als de externe versie van de vertakking.

Een vertakking opnieuw instellen op een externe vertakking:

  1. Kies in de gebruikersinterface van Git-mappen in het menu Vertakking de vertakking die u opnieuw wilt instellen.

    Vertakkingskiezer in de gebruikersinterface van Git-mappen.

  2. Selecteer Opnieuw instellen in het menu van de resource.

    Git reset-bewerking in het menu voor het jpeg-menu.

  3. Selecteer de vertakking die u opnieuw wilt instellen.

    Git reset --hard dialog.

De sparse-betaalmodus configureren

Sparse-betaling is een instelling aan de clientzijde waarmee u alleen een subset van de mappen van de externe opslagplaatsen in Databricks kunt klonen en ermee kunt werken. Dit is vooral handig als de grootte van uw opslagplaats buiten de ondersteunde limieten van Databricks valt.

U kunt de Sparse Checkout-modus gebruiken bij het toevoegen (klonen) van een nieuwe opslagplaats.

  1. Open Geavanceerd in het dialoogvenster Git-map toevoegen.

  2. Selecteer de Sparse-betaalmodus.

    De optie Voor parseren uitchecken in het dialoogvenster Git-map toevoegen.

  3. Geef in het vak Kegelpatronen de gewenste cone-betaalpatronen op. Scheid meerdere patronen door regeleinden.

Op dit moment kunt u het sparse-uitchecken voor een opslagplaats in Azure Databricks niet uitschakelen.

Hoe kegelpatronen werken

Als u wilt weten hoe kegelpatroon werkt in de sparse-betaalmodus, raadpleegt u het volgende diagram dat de structuur van de externe opslagplaats vertegenwoordigt.

Structuur van externe opslagplaatsen zonder het uitchecken te parseren.

Als u de sparse-betaalmodus selecteert, maar geen kegelpatroon opgeeft, wordt het standaardconepatroon toegepast. Dit omvat alleen de bestanden in de hoofdmap en geen submappen, wat resulteert in een opslagplaatsstructuur als volgt:

Parseren uitchecken: standaardconepatroon.

Als u het patroon voor het parseren van de kassacone instelt als parent/child/grandchild resultaat, wordt alle inhoud van de grandchild map recursief opgenomen. De bestanden direct in de hoofdmap /parent/child en de /parenthoofdmap zijn ook opgenomen. Zie de mapstructuur in het volgende diagram:

Parseren uitchecken: geef het patroon van de map met bovenliggende en kleinkind-onderliggende mappen op.

U kunt meerdere patronen toevoegen, gescheiden door regeleinden.

Notitie

Uitsluitingsgedrag (!) wordt niet ondersteund in de syntaxis van het Git-kegelpatroon.

Instellingen voor sparse-betaling wijzigen

Zodra een opslagplaats is gemaakt, kan het patroon sparse kassacone worden bewerkt vanuit Geavanceerde kegelpatronen voor instellingen >>.

Let op het volgende gedrag:

  • Als u een map uit het kegelpatroon verwijdert, wordt deze verwijderd uit Databricks als er geen niet-doorgevoerde wijzigingen zijn.

  • Als u een map toevoegt via het bewerken van het patroon sparse-kassacone, wordt deze toegevoegd aan Databricks zonder dat hiervoor extra pull nodig is.

  • Sparse-uitcheckpatronen kunnen niet worden gewijzigd om een map te verwijderen wanneer er niet-doorgevoerde wijzigingen in die map zijn.

    Een gebruiker bewerkt bijvoorbeeld een bestand in een map en voert geen wijzigingen door. Vervolgens probeert ze het sparse-betaalpatroon te wijzigen om deze map niet op te nemen. In dit geval wordt het patroon geaccepteerd, maar wordt de werkelijke map niet verwijderd. Ze moet het patroon herstellen om die map op te nemen, wijzigingen doorvoeren en vervolgens het nieuwe patroon opnieuw toepassen.

Notitie

U kunt het sparse-uitchecken niet uitschakelen voor een opslagplaats die is gemaakt met de Sparse-betaalmodus ingeschakeld.

Wijzigingen aanbrengen en pushen met sparse-betaling

U kunt bestaande bestanden bewerken en doorvoeren en pushen vanuit de Git-map. Wanneer u nieuwe mappen met bestanden maakt, neemt u deze op in het kegelpatroon dat u voor die opslagplaats hebt opgegeven.

Het opnemen van een nieuwe map buiten het kegelpatroon resulteert in een fout tijdens de doorvoer- en pushbewerking. U kunt dit oplossen door het kegelpatroon te bewerken om de nieuwe map op te nemen die u probeert door te voeren en te pushen.

Patronen voor een configuratiebestand voor een opslagplaats

Het configuratiebestand voor doorvoeren maakt gebruik van patronen die vergelijkbaar zijn met gitignore-patronen en doet het volgende:

  • Positieve patronen maken opname van uitvoer mogelijk voor overeenkomende notebooks.
  • Negatieve patronen schakelen uitvoeropname uit voor overeenkomende notebooks.
  • Patronen worden geëvalueerd op volgorde van alle notitieblokken.
  • Ongeldige paden of paden die niet worden omgezet in .ipynb notebooks, worden genegeerd.

Positief patroon: Als u uitvoer van een notebookpad folder/innerfolder/notebook.ipynbwilt opnemen, gebruikt u de volgende patronen:

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

Negatief patroon: Als u uitvoer voor een notebook wilt uitsluiten, controleert u of geen van de positieve patronen overeenkomt of een negatief patroon toevoegt op een juiste plek van het configuratiebestand. Negatieve patronen (uitsluiten) beginnen met !:

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

Beperking voor het parseren van uitchecken

Sparse-betaling werkt momenteel niet voor Azure DevOps-opslagplaatsen die groter zijn dan 4 GB.

Een opslagplaats toevoegen en later verbinding maken

Als u git-mappen programmatisch wilt beheren en ermee wilt werken, gebruikt u de REST API voor Git-mappen.