Databricks Git klasörlerinde Git işlemlerini çalıştırma (Depolar)

Makalede Kopyalama, dallanma, işleme ve gönderme dahil olmak üzere Git klasörlerini kullanarak Databricks çalışma alanınızda yaygın Git işlemlerinin nasıl gerçekleştirildiği açıklanır.

Uzak git deposuna bağlı depoyu kopyalama

  1. Kenar çubuğunda Çalışma Alanı'nı seçin ve git deposu kopyasını oluşturmak istediğiniz klasörün tarayıcısını kullanın.

  2. Çalışma alanının sağ üst kısmındaki Ekle'nin sağındaki aşağı oka tıklayın ve açılan listeden Git klasörünü seçin.

    Depo kullanıcı arabirimi ekleyin.

  3. Git klasörü oluştur iletişim kutusunda aşağıdaki bilgileri sağlayın:

    • Kopyalamak istediğiniz Git deposunun URL'si biçiminde https://example.com/organization/project.git
    • Kopyalamak istediğiniz deponun Git sağlayıcısı. Seçenekler arasında GitHub, GitHub Enterprise, GitLab ve Azure DevOps (Azure Depoları) bulunur
    • Çalışma alanınızda kopyalanan deponun içeriğini içerecek klasörün adı
    • Yalnızca koni deseni kullanılarak belirtilen alt dizinlerin kopyalandığı seyrek kullanıma alma özelliğini kullanıp kullanmayacağınız

    Git klasörü kullanıcı arabiriminden kopyalama.

Bu aşamada seyrek kullanıma alma kullanarak deponuzun dizinlerinin yalnızca bir alt kümesini kopyalama seçeneğiniz vardır. Bu, deponuzun Databricks tarafından desteklenen sınırlardan daha büyük olması durumunda kullanışlıdır

  1. Git klasörü oluştur'a tıklayın. Uzak deponun içeriği Databricks deposuna kopyalanmıştır ve çalışma alanınız aracılığıyla desteklenen Git işlemlerini kullanarak bunlarla çalışmaya başlayabilirsiniz.

En iyi yöntem: Git klasörlerinde işbirliği yapma

Databricks Git klasörleri, kullanıcıların Git tabanlı kaynak denetimi ve sürüm oluşturma kullanarak işbirliği yapmasına olanak tanır. Ekip işbirliğini daha etkili hale getirmek için, kendi geliştirme dallarında çalışan her kullanıcı için uzak git deposuna eşlenmiş ayrı bir Databricks Git klasörü kullanın. Birden çok kullanıcı git klasörüne içerik katkıda bulunabilir ancak yalnızca bir kullanıcı çekme, gönderme, işleme ve dal değiştirme gibi Git işlemlerini gerçekleştirmelidir. Git klasöründe birden çok kullanıcı Git işlemleri gerçekleştiriyorsa, dal yönetimi zorlaşabilir ve kullanıcının bir dalı değiştirdiği ve istemeden bu klasörün diğer tüm kullanıcıları için değiştirdiği durumlar gibi hataya açık hale gelebilir.

Önemli

Şu anda Git klasöründe Git işlemleri gerçekleştirmek için Git CLI'sini kullanamazsınız. Kümenin web terminali üzerinden CLI kullanarak bir Git deposunu klonlarsanız, dosyalar Azure Databricks kullanıcı arabiriminde görüntülenmez.

Git iletişim kutusuna erişme

Git iletişim kutusuna bir not defterinden veya Databricks Git klasörleri tarayıcısından erişebilirsiniz.

  • Not defterinde, geçerli Git dalını tanımlayan not defterinin adının yanındaki düğmeye tıklayın.

    Not defterindeki Git iletişim kutusu düğmesi.

  • Databricks Git klasörleri tarayıcısından depo adının sağındaki düğmeye tıklayın. Ayrıca depo adına sağ tıklayıp menüden Git... öğesini de seçebilirsiniz.

    Depo tarayıcısında Git iletişim kutusu düğmesi ve Git menüsü.

Git işlemlerini gerçekleştirebileceğiniz tam ekran bir iletişim kutusu görürsünüz.

Databricks çalışma alanında Git işlemlerini gerçekleştirmek için kullanılan iletişim kutusu.

  1. Geçerli çalışma dalınız. Diğer dalları buradan seçebilirsiniz. Diğer kullanıcıların bu Git klasörüne erişimi varsa, dalı değiştirmek, aynı çalışma alanını paylaşıyorlarsa dalını da değiştirir. Bu sorundan kaçınmak için önerilen en iyi yönteme bakın.
  2. Yeni dal oluşturma düğmesi.
  3. Geçerli dalınıza iade edilmiş dosya varlıklarının ve alt klasörlerin listesi.
  4. Sizi Git sağlayıcınıza götüren ve geçerli dal geçmişini gösteren bir düğme.
  5. Uzak Git deposundan içerik çekme düğmesi.
  6. Değişiklikleriniz için işleme iletisi ve isteğe bağlı genişletilmiş açıklama eklediğiniz metin kutusu.
  7. Çalışmanızı çalışma dalına işleme ve güncelleştirilmiş dalı uzak Git deposuna gönderme düğmesi.

Kebap menüsü Sabit sıfırlama, birleştirme veya yeniden temel oluşturma gibi ek Git dal işlemleri arasından seçim yapmak için sağ üstteki kebap öğesine tıklayın.

Dal işlemleri için Git klasörü iletişim kutusunda açılan menü.

Burası, çalışma alanı Git klasörünüzde Git işlemleri gerçekleştirmek için evinizdir. Kullanıcı arabiriminde sunulan Git işlemleriyle sınırlısınız.

Yeni dal oluşturma

Git iletişim kutusundan var olan bir dalı temel alan yeni bir dal oluşturabilirsiniz:

Git iletişim kutusu yeni dal.

Farklı bir dala geçme

Git iletişim kutusundaki dal açılan listesini kullanarak farklı bir dala geçebilirsiniz (kullanıma alabilirsiniz):

Git iletişim kutusu farklı dala geçiş

Önemli

Git klasöründeki bir dalı kullanıma aldıktan sonra, dalın uzak Git deposunda başka biri tarafından silinmesi her zaman bir olasılıktır. Uzak depoda bir dal silinirse, yerel sürüm 7 güne kadar ilişkili Git klasöründe bulunabilir. Databricks'teki yerel dallar silinemez, bu nedenle bunları kaldırmanız gerekiyorsa depoyu da silmeniz ve yeniden kapatmalısınız.

Değişiklikleri uzak Git deposuna işleme ve gönderme

Yeni not defterleri veya dosyalar eklediğinizde ya da var olan not defterlerinde veya dosyalarda değişiklik yaptığınızda Git klasörü kullanıcı arabirimi değişiklikleri vurgular.

Değişikliklerin vurgulandığı Git iletişim kutusu.

Değişiklikler için gerekli bir işleme iletisi ekleyin ve bu değişiklikleri uzak Git deposuna göndermek için İşle ve Gönder'e tıklayın.

Varsayılan dala (dal gibi main ) işleme izniniz yoksa yeni bir dal oluşturun ve Git sağlayıcınızın arabirimini kullanarak bir çekme isteği (PR) oluşturarak bunu varsayılan dalla birleştirin.

Not

  • Not defterleri kaynak dosya biçimlerinde (.py, , , .sql.r) kaydedildiğinde not .scaladefteri çıkışları varsayılan olarak işlemelere dahil değildir. IPYNB biçimini kullanarak not defteri çıkışlarını işleme hakkında bilgi için bkz . IPYNB not defteri çıkış yapıtlarını denetleme

Uzak Git deposundan değişiklikleri çekme

Uzak Git deposundaki değişiklikleri çekmek için Git işlemleri iletişim kutusunda Çek'e tıklayın. Not defterleri ve diğer dosyalar otomatik olarak uzak Git deponuzdaki en son sürüme güncelleştirilir. Uzak depodan çekilen değişiklikler Databricks'teki yerel değişikliklerinizle çakışıyorsa, birleştirme çakışmalarını çözmeniz gerekir.

Önemli

Yukarı akış değişikliklerini çeken Git işlemleri not defteri durumunu temizler. Daha fazla bilgi için bkz . Gelen değişiklikler not defteri durumunu temizleme.

Dalları birleştirme

Git İşlemleri iletişim kutusunun sağ üst kısmındaki Kebap menüsü kebaptan seçerek Git Birleştirme işlemine erişin.

Databricks Git klasörlerindeki merge işlevi kullanarak git mergebir dalı başka bir dalla birleştirir. Birleştirme işlemi, bir daldaki işleme geçmişini başka bir dalda birleştirmenin bir yoludur; tek fark, bunu başarmak için kullandığı stratejidir. Git'e yeni başlayanlar için, bir dala zorla gönderme gerektirmediğinden ve bu nedenle işleme geçmişini yeniden yazmadığından birleştirme (yeniden temellendirme üzerinden) kullanmanızı öneririz.

İşlemeleri birleştirme ve yeniden dengeleme arasındaki farklar hakkında daha fazla bilgi edinmek için lütfen Atlassian'ın konuyla ilgili belgelerine bakın.

  • Birleştirme çakışması varsa Git klasörleri kullanıcı arabiriminde bu sorunu çözün.
  • Çakışma yoksa, birleştirme kullanılarak git pushuzak Git deposuna gönderilir.

Rebase başka bir daldaki bir dal

Git İşlemleri iletişim kutusunun sağ üst kısmındaki Kebap menüsü kebap menüsünden seçerek Git Rebase işlemine erişin.

Yeniden boyutlandırma, bir dalın işleme geçmişini değiştirir. gibi git merge, git rebase değişiklikleri bir daldan diğerine tümleştirir. Rebase aşağıdakileri yapar:

  1. Geçerli dalınızdaki işlemeleri geçici bir alana kaydeder.
  2. Geçerli dalı seçilen dala sıfırlar.
  3. Daha önce geçerli dala kaydedilmiş her bir işlemeyi yeniden uygulayarak her iki daldaki değişiklikleri birleştiren doğrusal bir geçmiş elde eder.

Yeniden boyutlandırmanın ayrıntılı açıklaması için bkz . git rebase.

Uyarı

Rebase kullanmak, aynı depoda çalışan ortak çalışanlar için sürüm oluşturma sorunlarına neden olabilir.

Yaygın bir iş akışı, ana daldaki bir özellik dalını yeniden temel almaktır.

Başka bir daldaki bir dalı yeniden temel almak için:

  1. Git klasörleri kullanıcı arabirimindeki Dal menüsünden yeniden temel almak istediğiniz dalı seçin.

  2. Kebap menüsünden Yeniden Temelle'yi seçin.

    Kebap menüsünde git rebase işlevi.

  3. Yeniden temel almak istediğiniz dalı seçin.

    Yeniden temel oluşturma işlemi, burada seçtiğiniz daldaki değişiklikleri geçerli dala tümleştirir.

Databricks Git klasörleri, uzak Git deposunu güncelleştirmek için çalışır git commitgit push --force .

Birleştirme çakışmalarını çözme

Birleştirme çakışmaları, 2 veya daha fazla Git kullanıcısı bir dosyanın aynı satırlarına yapılan değişiklikleri ortak bir dalda birleştirmeye çalıştığında ve Git uygulanacak "doğru" değişiklikleri seçemediğinde oluşur. Birleştirme çakışmaları, kullanıcı değişiklikleri başka bir daldan, kaydedilmemiş değişikliklerle bir dala çekmeyi veya birleştirmeyi denediğinde de oluşabilir.

Git çekmesi sırasında kaydedilmemiş değişikliklerden kaynaklanan ortak birleştirme çakışması gösteren animasyonlu GIF

Çekme, yeniden temel alma veya birleştirme gibi bir işlem birleştirme çakışmaya neden olursa, Git klasörleri kullanıcı arabirimi çakışmaları olan dosyaların listesini ve çakışmaları çözmeye yönelik seçenekleri gösterir.

İki birincil seçeneğiniz vardır:

  • Çakışmayı çözmek için Git klasörleri kullanıcı arabirimini kullanın.
  • Git işlemini durdurun, çakışan dosyadaki değişiklikleri el ile atın ve Git işlemini yeniden deneyin.

Databricks Git klasörleri klasör kullanıcı arabiriminde birleştirme çakışması gösteren animasyonlu GIF

Git klasörleri kullanıcı arabirimiyle birleştirme çakışmalarını çözerken, düzenleyicideki çakışmaları el ile çözümleme veya gelen veya geçerli tüm değişiklikleri saklama arasında seçim yapmanız gerekir.

Tüm Geçerli Değişiklikleri Koru veya Gelen Değişiklikleri Al

Yalnızca tüm geçerli veya gelen değişiklikleri saklamak istediğinizi biliyorsanız, not defteri bölmenizde dosya adının sağındaki kebap öğesine tıklayın ve Tüm geçerli değişiklikleri koru veya Tüm gelen değişiklikleri al'ı seçin. Değişiklikleri işlemek ve çakışmayı çözmek için aynı etikete sahip düğmeye tıklayın.

Birleştirme çakışması çözümlemesi için açılan seçenekleri gösteren Databricks not defteri kullanıcı arabirimi bölmesi

İpucu

Hangi seçeneğin seçildiği konusunda kafanız mı karıştı? Her seçeneğin rengi, dosyada tutacağı ilgili kod değişiklikleriyle eşleşir.

Çakışmaları El ile Çözme

El ile çakışma çözümü, birleştirmede çakışan satırlardan hangisinin kabul edilmesi gerektiğini belirlemenizi sağlar. Birleştirme çakışmaları için, çakışmaları içeren dosyanın içeriğini doğrudan düzenleyerek çakışmayı çözersiniz.

Birleştirme çakışmasının el ile çözümlemesini gösteren animasyonlu GIF

Çakışmayı çözmek için, korumak istediğiniz kod satırlarını seçin ve Git birleştirme çakışma işaretçileri de dahil olmak üzere diğer her şeyi silin. İşiniz bittiğinde Çözümlendi Olarak İşaretle'yi seçin.

Birleştirme çakışmalarını çözerken yanlış seçimler yaptığınıza karar verirseniz işlemi durdurmak ve her şeyi geri almak için İptal düğmesine tıklayın. Tüm çakışmalar çözümlendikten sonra çakışmayı çözmek ve işlemi tamamlamak için Birleştirmeye Devam Et veya Yeniden Temele Devam Et seçeneğine tıklayın.

Git reset

Databricks Git klasörlerinde, Azure Databricks kullanıcı arabiriminde bir Git reset gerçekleştirebilirsiniz. Databricks Git klasörlerinde Git sıfırlama, ile git push --forcebirleştirilmiş ile git reset --hard eşdeğerdir.

Git sıfırlama, dal içeriğini ve geçmişini başka bir dalın en son durumuyla değiştirir. Düzenlemeler yukarı akış dalı ile çakıştığında ve yukarı akış dalını sıfırladığınızda bu düzenlemeleri kaybetmeyi sorun etmediğinizde bunu kullanabilirsiniz. Git reset –hardhakkında daha fazla bilgi edinin.

Yukarı akış (uzak) dala sıfırlama

Bu senaryoda ile git reset :

  • Seçtiğiniz dalı (örneğin, feature_a) farklı bir dala sıfırlarsınız (örneğin, main).
  • Ayrıca yukarı akış (uzak) dalını feature_a da main olarak sıfırlarsınız.

Önemli

Sıfırladığınızda, dalın hem yerel hem de uzak sürümünde kaydedilmemiş ve kaydedilmiş tüm değişiklikleri kaybedersiniz.

Bir dalı uzak dala sıfırlamak için:

  1. Dal menüsündeki Git klasörleri kullanıcı arabiriminde, sıfırlamak istediğiniz dalı seçin.

    Git klasörleri kullanıcı arabiriminde dal seçici.

  2. Kebap menüsünden Sıfırla'yı seçin.

    Kebap menüsünde git sıfırlama işlemi.

  3. Sıfırlanması gereken dalı seçin.

    Git sıfırlama --sabit iletişim kutusu.

Seyrek kullanıma alma modunu yapılandırma

Seyrek kullanıma alma, Databricks'teki uzak depo dizinlerinin yalnızca bir alt kümesini kopyalayıp bunlarla çalışmanızı sağlayan bir istemci tarafı ayarıdır. Bu, özellikle deponuzun boyutu Databricks tarafından desteklenen sınırların ötesindeyse kullanışlıdır.

Yeni depo eklerken (kopyalama) Seyrek Kullanıma Alma modunu kullanabilirsiniz.

  1. Git klasörü ekle iletişim kutusunda Gelişmiş'i açın.

  2. Seyrek kullanıma alma modu'nu seçin.

    Git klasörü ekle iletişim kutusundaki Seyrek kullanıma alma seçeneği.

  3. Koni desenleri kutusunda, istediğiniz koni kullanıma alma desenlerini belirtin. Birden çok deseni satır sonlarına göre ayırın.

Şu anda Azure Databricks'te bir depo için seyrek kullanıma alma özelliğini devre dışı bırakamazsınız.

Koni desenleri nasıl çalışır?

Seyrek kullanıma alma modunda koni deseninin nasıl çalıştığını anlamak için, uzak depo yapısını temsil eden aşağıdaki diyagrama bakın.

Seyrek kullanıma alma olmadan uzak depo yapısı.

Seyrek kullanıma alma modunu seçerseniz ancak bir koni deseni belirtmezseniz, varsayılan koni deseni uygulanır. Bu yalnızca kökteki dosyaları içerir ve alt dizin içermez ve bu da aşağıdaki gibi bir depo yapısına neden olur:

Seyrek kullanıma alma: varsayılan koni deseni.

Seyrek kullanıma alma konisi deseninin ayarlanması parent/child/grandchild , dizinin tüm içeriğinin grandchild özyinelemeli olarak eklenmesine neden olur. Dosyalar hemen /parentve /parent/child kök dizinine de eklenir. Aşağıdaki diyagramda dizin yapısına bakın:

Seyrek kullanıma alma: Üst-torun-alt klasör koni deseni belirtin.

Satır sonları ile ayrılmış birden çok desen ekleyebilirsiniz.

Not

Dışlama davranışları (!), Git koni düzeni söz diziminde desteklenmez.

Seyrek kullanıma alma ayarlarını değiştirme

Bir depo oluşturulduktan sonra seyrek kullanıma alma konisi deseni Ayarlar > Gelişmiş > Koni desenlerinden düzenlenebilir.

Şu davranışı unutmayın:

  • Bir klasörü koni deseninden kaldırmak, kaydedilmemiş bir değişiklik yoksa bu klasörü Databricks'ten kaldırır.

  • Seyrek kullanıma alma konisi desenini düzenleyerek klasör eklemek, ek çekme gerektirmeden bunu Databricks'e ekler.

  • Seyrek kullanıma alma desenleri, bu klasörde kaydedilmemiş değişiklikler olduğunda klasörü kaldırmak için değiştirilemez.

    Örneğin, kullanıcı bir klasördeki bir dosyayı düzenler ve değişiklikleri işlemez. Ardından seyrek kullanıma alma düzenini bu klasörü içermemek üzere değiştirmeye çalışır. Bu durumda, desen kabul edilir, ancak gerçek klasör silinmez. Bu klasörü eklemek, değişiklikleri işlemek ve ardından yeni deseni yeniden uygulamak için deseni geri döndürmesi gerekir.

Not

Seyrek Kullanıma Alma modu etkin olarak oluşturulmuş bir depo için seyrek kullanıma alma özelliğini devre dışı bırakamazsınız.

Seyrek kullanıma alma ile değişiklik yapma ve gönderme

Mevcut dosyaları düzenleyebilir, işleyebilir ve Git klasöründen gönderebilirsiniz. Yeni dosya klasörleri oluştururken, bunları bu depo için belirttiğiniz koni düzenine ekleyin.

Koni deseninin dışında yeni bir klasör dahil etmek, işleme ve gönderme işlemi sırasında hataya neden olur. Bunu düzeltmek için, işlemeye ve göndermeye çalıştığınız yeni klasörü içerecek şekilde koni desenini düzenleyin.

Depo yapılandırma dosyası desenleri

İşleme çıkışları yapılandırma dosyası gitignore desenlerine benzer desenler kullanır ve aşağıdakileri yapar:

  • Pozitif desenler, eşleşen not defterleri için çıkışların eklenmesini sağlar.
  • Negatif desenler, eşleşen not defterleri için çıkışların eklenmesini devre dışı bırakır.
  • Desenler tüm not defterleri için sırayla değerlendirilir.
  • Not defterleri için çözümlenemeyen .ipynb geçersiz yollar veya yollar yoksayılır.

Pozitif desen: Not defteri yolundan folder/innerfolder/notebook.ipynbçıkışlar eklemek için aşağıdaki desenleri kullanın:

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

Negatif desen: Not defterinin çıkışlarını dışlamak için, pozitif desenlerden hiçbirinin eşleşmediğini denetleyin veya yapılandırma dosyasının doğru noktasına negatif bir desen ekleyin. Negatif (dışlama) desenleri ile !başlar:

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

Seyrek kullanıma alma sınırlaması

Seyrek kullanıma alma şu anda boyutu 4 GB'tan büyük Azure DevOps depolarında çalışmıyor.

Depo ekleme ve daha sonra uzaktan bağlanma

Git klasörlerini program aracılığıyla yönetmek ve bunlarla çalışmak için Git klasörleri REST API'sini kullanın.